您的位置:首页 > 其它

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

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

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

代码:

#include<stdio.h>
#include<algorithm>
using namespace std;
struct num
{
int mmm;//  数本身
int mm;//   反序后的数

}Y[55];
bool pp(num a,num b)
{
return a.mm<b.mm;
}
int main()
{
int N,m,n,i,x,k;
scanf("%d",&N);
while(N--)
{
x=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
x++;
k=i;
Y[x].mmm=i;
Y[x].mm=0;
while(k)
{
Y[x].mm=Y[x].mm*10+k%10;
k=k/10;
}
}
sort(Y+1,Y+n-m+2,pp);  //一共有n-m+1个数 、、或者(sort(Y,Y+n-m+1,pp))
printf("%d",Y[1].mmm);
for(i=2;i<=n-m+1;i++) //第一次只改了这儿,刚好样例输出对啦,忘了改sort,于是乎就wa了两次。
{
printf(" %d",Y[i].mmm);
}
printf("\n");
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: