最近才开始搞ACM,下面是我的代码,真不知哪儿错了,老是 WA。请高手帮忙看看,感激不尽!
#include<stdio.h>
#include<string.h>
int main(void)
{
int n,i,j,max,sum;
char clr[1005][20],str[20];
while(scanf("%d",&n)&&n){
for(i=0; i<n; i++)
scanf("%s",clr[i]);
max = -1;
for(i=0; i<n && clr[i][0]!='\0'; i++){
sum = 1;
for(j=i+1; j<n && clr[j][0]!='\0'; j++){
if(!strcmp(clr[i],clr[j])){
sum++;
clr[j][0] = '\0';
}
}
if(sum > max){
max = sum;
strcpy(str,clr[i]);
}
}
printf("%s\n",str);
}
return 0;
}
杭电1004,Let the Balloon Rise 很郁闷,不知道错在哪儿
你的主要问题是 clr[j][0] = '\\0';比如说,你输入:5 blue blue red red red 第二个颜色即blue会因为clr[j][0] = '\\0'语句而变成了'\\0',又因为for(i=0; i<n && clr[i][0]!='\\0'; i++)语句,i=1时立即停止运行。结果是blue,但正确的结果应该是red.include<stdio.h> ...
杭电ACM1004题,let the balloon rise java,测试用例能通过,提交总是wr...
你好,杭电上java代码有要求的。java代码的类必须叫Main,而你的是Ballon。改过就好了。还有这题输出的时候System.out.println(result);就好了,不能分开。改正后AC代码:import java.util.HashMap;import java.util.Map.Entry;import java.util.Scanner;class Main { public static void main(String[]...
谁给我ACM资料
平时多点上网做题,acm.zju.edu.cn 这类地方 能力没有速成的 Let the Balloon Rise.标程不是万能的,很多代码还是现场code的,不要以为想出个模型就可以直接套程序,另外,调试也是很重要的环节 现场的资料仅仅是辅助,不是主要工具
杭电1004,Let the Balloon Rise 很郁闷啊,不知道错在哪儿
比如说,你输入:5 blue blue red red red 第二个颜色即blue会因为clr[j][0] = '\\0'语句而变成了'\\0',又因为for(i=0; i<n && clr[i][0]!='\\0'; i++)语句,i=1时立即停止运行。结果是blue,但正确的结果应该是red.include<stdio.h> include<string.h> int main(void){ int ...