cf 12B Correct Solution?(贪心)

题意:

一个数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;
}
原文地址:https://www.cnblogs.com/fish7/p/4311928.html