One cold winter evening Alice and her older brother Bob was sitting at home near the fireplace and giving each other interesting problems to solve. When it was Alice's turn, she told the number n to Bob and said:
—Shuffle the digits in this number in order to obtain the smallest possible number without leading zeroes.
—No problem! — said Bob and immediately gave her an answer.
Alice said a random number, so she doesn't know whether Bob's answer is correct. Help her to find this out, because impatient brother is waiting for the verdict.
The first line contains one integer n (0 ≤ n ≤ 109) without leading zeroes. The second lines contains one integer m (0 ≤ m ≤ 109) — Bob's answer, possibly with leading zeroes.
Print OK if Bob's answer is correct and WRONG_ANSWER otherwise.
3310 1033
OK
4 5
WRONG_ANSWER
给出两个数字,问后一个数字是否是前一个数字的各位数字随意组合形成的无前导零的最小数
贪心的思想,先对原数字的各位进行排序,如果第一位是0,那么找到最近的一个不为零的数字和首位交换,得到的肯定是最小的数字,另外注意 0 0 的情况!
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
char a[15]={0},b[15]={0};
scanf("%s%s",a,b);
sort(a,a+strlen(a));
if(a[0]=='0')
{
int i=0;
while(a[i]&&a[i]=='0')
{
++i;
}
if(a[i]!=0)
{
swap(a[i],a[0]);
}
}
printf("%s\n",strcmp(a,b)==0?"OK":"WRONG_ANSWER");
return 0;
}