【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)
生活随笔
收集整理的這篇文章主要介紹了
【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
lily的好朋友xiaoou333最近很空,他想了一件沒有什么意義的事情,就是統計一篇文章里不同單詞的總數。下面你的任務是幫助xiaoou333解決這個問題。
Input
有多組數據,每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標點符號,遇到#時表示輸入結束。
Output
每組只輸出一個整數,其單獨成行,該整數代表一篇文章里不同單詞的總數。
Sample Input
you are my friend #Sample Output
4解題報告:
? ? 恕我直言這題是真雞兒無聊,,你不用gets或者geline是死活AC不了的、、因為就算你再怎么神奇的操作,考慮的再嚴密,,他樣例第一行萬一 上來一個空格 然后就回車了、、你咋整?本來應該輸出0的,,你就直接讀入了,因為你不可能程序一開始就先讀一個ch然后判讀如果不是空格的話再存入字符串中啊!!那豈不是太麻煩了。,,,為了這個題沒必要,于是直接上istringstream就好了。。。
AC代碼:
#include<iostream> #include<cstdio> #include<sstream> #include<set> using namespace std; int main() {string s;while(getline(cin, s) && s != "#") {istringstream in(s);set<string> ss;string w;while(in>>w)ss.insert(w);cout << ss.size() << endl;}return 0; }WA代碼:
#include<set> #include<cstdio> #include<string> #include<cstring> #include<iostream> #define ll long long using namespace std; string s; set<string> ss; int main() {char ch;while() {if(s[0] == '#') break;ss.clear();ss.insert(s);ch=getchar();if(ch != '\n') {while(cin>>s) {ch=getchar();if(s[0] == '#') break;ss.insert(s);if(ch=='\n') break;} }printf("%d\n",ss.size());}return 0; }?
總結
以上是生活随笔為你收集整理的【HDU - 2072 】单词数(字符串读入技巧,sstream大法,水题,字符串读入格式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个单词都没改!首尔大学AI团队抄袭震动
- 下一篇: PC寒冬来了 5nm Zen4锐龙700