题意:
一个数a,一个数b。
现在要将a的每一位上的数字重新整理,生成一个新的不含前导0的数a‘。
问a‘是否等于b。
思路:
a上每一位的数字从小到大排序,找到最小的非零数和第一位交换。
代码:
char s1[15],s2[15]; int main(){ scanf("%s%s",s1,s2); if(strcmp(s1,"0")==0 && strcmp(s2,"0")==0){ puts("OK"); return 0; } int l1=strlen(s1); sort(s1,s1+l1); int p=-1; rep(i,0,l1-1){ if(s1[i]!=‘0‘){ p=i; break; } } swap(s1[p],s1[0]); if(strcmp(s1,s2)==0){ puts("OK"); } else{ puts("WRONG_ANSWER"); } return 0; }
时间: 2024-10-08 10:43:58