zoj

时间:2024-11-30 21:29:11编辑:奇闻君

求百练上的2801的题的程序 能AC的,尽快,一定要短!

#include
int main()
{
int characters[26];
int n, m, p; //输入的第一行,输入包括一个n*m 的矩阵,和p 个单词。
int i, j; //循环变量
for(i = 0; i < 26; i++) // 赋初值
characters[i] = 0;
scanf("%d%d%d", &n, &m, &p);
for(i = 0; i < n; i++){//这一段读入n*m 的矩阵,并记录矩阵中每个字母出现的次数
char str[11];
scanf("%s", str);
for(j = 0; str[j] != '\0'; j++)
characters[str[j] - 'A'] ++;
}
for(i = 0; i < p; i++){
char str[200];
scanf("%s", str);
for(j = 0; str[j] != '\0'; j++)
characters[str[j] - 'A'] --;
}
for(i = 0; i < 26; i++){ // 这一段输出所有出现次数大于0 的字母。
if(characters[i] != 0)
for(j = 0; j < characters[i]; j++)printf("%c", i + 'A');
}
printf("\n");
return 0;
}

it's so easy


zoj 1205, 一道水题,但是总是WA,求解? 题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?p

虽然你说这是个水题,但是你的编码显示你的水平还不至于把这种题目看作水题
我也不想看你写的代码了,只给你点建议:

1.做加法前转换到数值,某一位数值确定后再转回去,而进位用数值来保存:'0'转为0,'a'转为10,依此类推。你把'a'-'j'转换到接在'9'后面然后,每次去作加法,每次都要再去做处理,效率低,可读性也差

2.定义两个函数用于转换/逆转,而不是写得这样一团糟

再送你几个测试数据:
0, 0
1, 0
00001, 222
jjjjj, 1
jjjjj,jjjjj
还有100个j和100个j


上一篇:上海景点大全

下一篇:没有了