| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:一道有关整数对的 ACM 题,总是 WA,我自己测试的正确啊
取消只看楼主 加入收藏
liushuai0623
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-4-23
结帖率:0
收藏
已结贴  问题点数:10 回复次数:0 
一道有关整数对的 ACM 题,总是 WA,我自己测试的正确啊
Description

Gardon和小希玩了一个游戏,Gardon随便想了一个数A(首位不能为0),把它去掉一个数字以后得到另外一个数B,他把A和B的和N告诉了小希,让小希猜想他原来想的数字。不过为了公平起见,如果小希回答的数虽然不是A,但同样能达到那个条件(去掉其中的一个数字得到B,A和B之和是N),一样算小希胜利。而且小希如果能答出多个符合条件的数字,就可以得到额外的糖果。
 所以现在小希希望你编写一个程序,来帮助她找到尽可能多的解。
 例如,Gardon想的是A=31,B=3 告诉小希N=34,
 小希除了回答31以外还可以回答27(27+7=34)所以小希可以因此而得到一个额外的糖果。

Input

输入包含多组数据,每组数据一行,包含一个数N(1<=N<=10^9),文件以0结尾。

Output

对于每个输入的N,输出所有符合要求的解(按照大小顺序排列)如果没有这样的解,输出"No solution."

Sample Input

Original Transformed

34
 152
 21
 0

Sample Output

Original Transformed

27 31 32
 126 136 139 141
 No solution.

下面是我的代码,我测试的正确啊,可是交上去总是WA
 #include
 void BubbleSort(int array[],int n)
 {
 int i,j,temp;
 for(i=0; i {
 for(j=0; j {
 if(array[j]>array[j+1])
 {
 temp=array[j];
 array[j]=array[j+1];
 array[j+1]=temp;
 }
 }
 }
 }
 int s[108];
 int main()
 {
 int n,a,b,c;
 while(scanf("%d",&n)!=EOF&&n)
 {
 int cnt=0,k;
 for(k=1;k<=n;k*=10)
 {
 c=n/k/11;
 b=n/k%11;
 if(b+c&&b!=10)
 {
 a=(n-b*k-c*11*k)/2;
 if(n==a*2+b*k+c*11*k)s[cnt++]=a+b*k+c*10*k;
 }
 b--;
 if(b+c&&b>=0)
 {
 a=(n-b*k-c*11*k)/2;
 if(n==a*2+b*k+c*11*k)s[cnt++]=a+b*k+c*10*k;
 }
 }
 if(cnt==0)printf("no solution.\n");
 else
 {
 BubbleSort(s,cnt);
 printf("%d",s[0]);
 int i;
 for(i=1;i<cnt;i++)
 {
 if(s[i]!=s[i-1])printf(" %d",s[i]);
 }
 printf("\n");
 }
 }
 return 0;
 }
搜索更多相关主题的帖子: 而且 胜利 游戏 
2014-04-23 17:54
快速回复:一道有关整数对的 ACM 题,总是 WA,我自己测试的正确啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031797 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved