首页 > 代码库 > FZU 2111 Min Number

FZU 2111 Min Number

这题 没有想到 是 贪心的算法.

所以和队友两个人一直卡在这里.

一直用其中一个队友的方法,卡了一小时多,回来以后继续写,卡在另外一个地方.

感觉就是自己的思路太狭窄了...可能因为不是很认真吧..

或许比赛的时候就不一样了..

福州OJ的测试数据太弱了..就不写优化了.

优化就是拿到最小值,接下来就不比了..

 1 #include <iostream>   2 #include <cstdio>   3 #include <cstring>   4 using namespace std;   5 #define maxn 1005 6 char c[maxn];   7 int main()   8 {   9     int T,m,len,p,mi,t;10     //freopen("2111.txt","r",stdin);11     scanf("%d",&T);  12     while(T--)  13     {  14         scanf("%s%d",c,&m);  15         len=strlen(c);  16         for(int i=0;i<len&&m;i++)  17         {  18             p=-1;mi=c[i];  19            for(int j=i;j<len;j++)  20             if(mi>c[j]&&(c[j]!=0||i))  //i=0 不能换21             {  22                 mi=c[j];  23                 p=j;  24             }  25             if(p!=-1)  26            {  27             t=c[p]; 28             c[p]=c[i];  29             c[i]=t;  30             m--;  31            }  32         }  33         printf("%s\n",c);  34     }  35     return 0;  36 }  37         

 

FZU 2111 Min Number