暴力枚舉。。。
I-number
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2803 Accepted Submission(s): 1065
Problem Description
The I-number of x is defined to be an integer y, which satisfied the the conditions below:
1. y>x;
2. the sum of each digit of y(under base 10) is the multiple of 10;
3. among all integers that satisfy the two conditions above, y shouble be the minimum.
Given x, you're required to calculate the I-number of x.
Input
An integer T(T≤100) will exist in the first line of input, indicating the number of test cases.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 10
5.
Output
Output the I-number of x for each query.
Sample Input
1
202
Sample Output
208
Source
2013 Multi-University Training Contest 1
#include
#include
#include
#include
using namespace std;
const int maxn=200100;
char str[maxn];
bool ck(char str[])
{
int r=0;
int n=strlen(str);
for(int i=0;i=n) str[i]='0';
int t=str[i]-'0';
if(t+c<10)
{
str[i]++;
c=0;
break;
}
else
{
str[i]='0'+t+c-10;
c=1;
}
}
return true;
}
int main()
{
int T_T;
scanf("%d",&T_T);
while(T_T--)
{
memset(str,0,sizeof(str));
scanf("%s",str);
reverse(str,str+strlen(str));
while(PlusOne(str)) if(ck(str)) break;
reverse(str,str+strlen(str));
printf("%s\n",str);
}
return 0;
}