Guess the number
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4053 Accepted Submission(s): 3019
Problem Description
Happy new year to everybody!
Now, I want you to guess a minimum number x betwwn 1000 and 9999 to let
(1) x % a = 0;
(2) (x+1) % b = 0;
(3) (x+2) % c = 0;
and a, b, c are integers between 1 and 100.
Given a,b,c, tell me what is the number of x ?
Now, I want you to guess a minimum number x betwwn 1000 and 9999 to let
(1) x % a = 0;
(2) (x+1) % b = 0;
(3) (x+2) % c = 0;
and a, b, c are integers between 1 and 100.
Given a,b,c, tell me what is the number of x ?
Input
The number of test cases c is in the first line of input, then c test cases followed.every test contains three integers a, b, c.
Output
For each test case your program should output one line with the minimal number x, you should remember that x is between 1000 and 9999. If there is no answer for x, output "Impossible".
Sample Input
2 44 38 49 25 56 3
Sample Output
Impossible 2575
Author
8600
Source
Recommend
小编试了一下,直接for循环暴力就能过,那个代码就不附上了 ,直接上ac的dfs代码;
#include <stdio.h>
int a,b,c,flag;
void dfs(int v)
{
if(flag||v>9999)
{
return ;
}
if(v%a==0&&(v+1)%b==0&&(v+2)%c==0)
{
printf("%d\n",v);
flag=1;
return ;
}
dfs(v+1);
}
int main()
{
int t,i;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&a,&b,&c);
flag=0;
dfs(1000);
if(!flag)
printf("Impossible\n");
}
return 0;
}