HDOJ2072单词数 解题报告
2014-05-10 21:12
579 查看
单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 26054 Accepted Submission(s): 6094
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
#include<stdio.h> #include<stdlib.h> int main(void) { char str[10000], a[1000][100]; while(gets(str) && str[0] != '#') { int i, j, sum = 0, k, d = 0; memset(a, '\0', sizeof(a)); for(i = 0, j = 0, k = 0; str[i] != '\0'; i++) { if(str[i] != ' ') { a[j][k++] = str[i]; d = 1; } else { if(str[i + 1] == ' ') continue; if(str[i + 1] == '\0') break; else k = 0, j++; } } for(i = 0; i < j; i++) { int point = 0; for(k = i + 1; k <= j; k++) if(strcmp(a[i], a[k]) == 0) { point = 1; break; } if(point == 0) sum += 1; } printf("%d\n", d ? sum + 1 : sum); } return 0; }
这道题我用这样的代码居然过了……我自己在测试的时候,在单词前面加空格进行测试(即第一个字符为空格),超过两个单词则wrong answer,但是提交到OJ居然不会报错……还有,在while里面判断'#'字符的出现貌似并不符合“遇到#时表示输入结束 ”这样的说法,所以我又改了一下。
#include<stdio.h> #include<stdlib.h> int main(void) { char str[10000], a[1000][100]; while(gets(str)) { int i, j, sum = 0, k, d = 0; memset(a, '\0', sizeof(a)); for(i = 0; str[i] == ' '; i++); //去掉字符串前多余的空格 for(j = 0, k = 0; str[i] != '\0'; i++) { if(str[i] == '#') return 0; //遇到#退出 if(str[i] != ' ') { a[j][k++] = str[i]; d = 1; } else { if(str[i + 1] == ' ') continue; if(str[i + 1] == '\0') break; else k = 0, j++; } } for(i = 0; i < j; i++) { int point = 0; for(k = i + 1; k <= j; k++) if(strcmp(a[i], a[k]) == 0) { point = 1; break; } if(point == 0) sum += 1; } printf("%d\n", d ? sum + 1 : sum); } return 0; }
我自己修改了一下,虽然上面的代码是可以过的,但是还是感觉强迫症要犯……
over 万事大吉 AC
相关文章推荐
- HDOJ-2082-找单词 解题报告
- 杭电 HOJ 2072 单词数 解题报告
- HDOJ 1050:Moving Tables 解题报告
- HDoj-2072-单词数
- HDOJ_2050 折线分割平面 解题报告
- HDOJ-1211-RSA 解题报告
- 最小生成树——HDOJ 2988 Dark roads解题报告
- hdu 2243考研路茫茫——单词情结—解题报告
- hdoj-1283-最简单的计算机(解题报告)
- hdoj-2043-密码(解题报告)
- hdoj-2017-字符串统计(解题报告)
- HDOJ-2102-A计划 解题报告
- hdoj-2016-数据的交换输出(解题报告)
- Hdoj 2072 单词数
- HDOJ.2072 单词数(map)
- hdoj2008解题报告
- 解题报告-HDOJ-1285(拓扑排序)
- HDOJ 2037:今年暑假不AC 解题报告
- HDOJ2072 单词数
- HDOJ-5199-Gunner 解题报告