Challenge: Die Hard 3
Subdomeniu: Fundamentals (fundamentals)
Scor cont: 30.0 / 30
Submission status: Accepted
Submission score: 1.0
Submission ID: 464725154
Limbaj: cpp14
Link challenge: https://www.hackerrank.com/challenges/die-hard-3/problem
Cerinta
**Simon**: On the fountain, there should be 2 jugs - a 5 gallon and a 3 gallon. Do you see them? Fill one of the jugs with exactly 4 gallons of water and place it on the scale and the timer will stop. You must be precise; one ounce more or less will result in detonation. If you’re still alive in 5 minutes, we’ll speak.
**Bruce**: Wait, wait a second. I don’t get it. Do you get it?
**Samuel**: No.
**Bruce**: Get the jugs. Obviously, we can’t fill the 3 gallon jug with 4 gallons of water.
**Samuel**: Obviously.
**Bruce**: All right. I know, here we go. We fill the 3 gallon jug exactly to the top, right?
**Samuel**: Uh huh.
**Bruce**: Okay, now we pour this 3 gallons into the 5 gallon jug, giving us exactly 3 gallons in the 5 gallon jug, right?
**Samuel**: Right, then what?
**Bruce**: We take the 3 gallon jug and fill it a third of the way...
**Samuel**: No! He said, “Be precise.” Exactly 4 gallons.
**Bruce**: Damn! Every cop within 50 miles is running his ass off and I’m out here playing a kids' games in the park.
**Samuel**: Hey, you want to focus on the problem at hand?
Given 2 jugs of capacity *a* and *b* gallons, and an infinite supply of water, can you fill one of the jugs with exactly *c* gallons of water ?
**Input Format**
First line contains the number of testcases *T*. *T* lines follow.
Each line contains 3 space separated integers *a*, *b* and *c* . *a* and *b* indicate the capacity of the two jugs respectively, and *c* denotes the exact capacity with which one of the jugs should be filled.
**Output Format**
For each test case, print "YES" (in a new line) if one of the jugs can be filled with exactly *c* gallons of water and "NO" (in a new line) if they cannot be filled. ( quotes are for clarity )
**Constraints**
1 ≤ a, b, c ≤ 10<sup>3</sup>
1 ≤ T ≤ 100
**Sample Input**
2
5 3 4
3 6 4
**Sample Output**
YES
NO
**Explanation**
Bruce can do the following, fill jug *a* with 5 gallons.
a = 5, b = 0
Now, he can fill jug *b* with 3 gallons from jug *a*.
a = 2, b = 3
He can empty jug *b* and empty 2 gallons from jug *a* to jug *b*.
a = 0, b = 2
Now, he can fill jug *a* with 5 gallons and fill jug *b* with 1 gallon from jug *a*. This results in jug *a* containing exactly 4 gallons of water.
a = 5, b = 2
a = 4, b = 3
In the second testcase, it is impossible to generate 4 gallons of water, hence `NO`.
Cod sursa
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int gcd(int a, int b){
if(b==0){
return a;
}
else{
return gcd(b, a%b);
}
}
int main() {
int t;
cin>>t;
while(t--){
int a,b,c;
cin>>a>>b>>c;
int max=a>b?a:b;
int g= gcd(a,b);
if(c<max){
if(c%g==0){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
else{
cout<<"NO"<<endl;
}
}
return 0;
}
HackerRank Fundamentals – Die Hard 3
