nyoj 540 奇怪的排序(细心啦)

 

         

一个sort就能解决,结果因为粗心,调代码的时候只改了一个地方,忘了另一个地方,刚好样例输出正确,就这样wa了。

总之就是没有处理好数的个数问题啦!

 

代码:

 1 #include<stdio.h>
 2 #include<algorithm>
 3 using namespace std;
 4 struct num
 5 {
 6     int mmm;//  数本身
 7     int mm;//   反序后的数
 8 
 9 }Y[55];
10 bool pp(num a,num b)
11 {
12     return a.mm<b.mm;
13 }
14 int main()
15 {
16     int N,m,n,i,x,k;
17     scanf("%d",&N);
18     while(N--)
19     {
20         x=0;
21         scanf("%d %d",&m,&n);
22         for(i=m;i<=n;i++)
23         {
24             x++;
25             k=i;
26             Y[x].mmm=i;
27             Y[x].mm=0;
28             while(k)
29             {
30                Y[x].mm=Y[x].mm*10+k%10;
31                k=k/10;
32             }
33         }
34         sort(Y+1,Y+n-m+2,pp);  //一共有n-m+1个数 、、或者(sort(Y,Y+n-m+1,pp))
35         printf("%d",Y[1].mmm);
36         for(i=2;i<=n-m+1;i++) //第一次只改了这儿,刚好样例输出对啦,忘了改sort,于是乎就wa了两次。
37         {
38             printf(" %d",Y[i].mmm);
39         }
40          printf("\n");
41     }
42 }
View Code

 

posted @ 2013-05-15 00:15  lysr__tlp  阅读(142)  评论(0编辑  收藏  举报