日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告

發布時間:2024/2/28 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

勵志用少的代碼做高效的表達


題目(提交)鏈接→UVA-10391


本題實質是#include<string>頭文件的substr()字符串分割函數與#include<algorithm>頭文件的find()函數聯用。

基本思路:

單詞(字符串)存入容器后,逐位分解(substr()),查找(find())按每一位分解后其前后分別組成的字符串是否在容器中出現。 若皆出現,輸出即可。
其中find()用法參考→懶癌的福音——algorithm頭文件函數全集

代碼:

#include<bits/stdc++.h> using namespace std; int main() {set<string>ss; //查詢 string s; while(cin >> s) ss.insert(s);for(auto p : ss) { //p是每一個字符串 bool isCpdword = false;for(int i = 0; i < p.size()-1 && !isCpdword; i++) //遍歷左右組合 if(ss.find(p.substr(0, i+1)) != ss.end() && ss.find(p.substr(i+1)) != ss.end())isCpdword = true; if(isCpdword) cout << p << endl; //?后的語句湊數用,否則編譯錯誤。 }return 0; }

收獲:

1、substr() 分割函數
2、find()函數妙用


撥云見日,未來可期。

總結

以上是生活随笔為你收集整理的15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。