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 }