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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

898 C. Phone Numbers

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 898 C. Phone Numbers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

[http://codeforces.com/contest/898/problem/C]

題意

題意比較難理解直接看樣例就知道了,給你個n接下來n行,每行包括一個名字和號碼的數量,還有具體的每個號碼
讓你整理他的電話本,使得一個人的號碼不能有重復,而且一個號碼不能是另一個號碼的后綴

分析

首先可以對一個人的所有號碼去重,用map<string,set<string>> m來存信息可以,set具有惟一性,然后輸出m.size()即為所有聯系人 然后用三重循環來處理使得一個人的號碼不能有重復,而且一個號碼不能是另一個號碼的后綴,關鍵是判斷一個字符串是否是另一個字符串的 后綴,substr()函數 1. 用途:一種構造string的方法2. 形式:s.substr(pos, n)3. 解釋:返回一個string,包含s中從pos開始的n個字符的拷貝(pos的默認值是0,n的默認值是s.size() - pos,即不加參數會默認拷貝整個s)4. 補充:若pos的值超過了string的大小,則substr函數會拋出一個out_of_range異常;若pos+n的值超過了string的大小,則substr會調整n的值,只拷貝到string的末尾

例如:

#include<string> #include<iostream> using namespace std; int main() {string s("12345asdf");string a = s.substr(0,5); //獲得字符串s中從第0位開始的長度為5的字符串cout << a << endl; } 輸出結果為:12345

本題代碼

#include<bits/stdc++.h> using namespace std; int main(){int n;ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//freopen("in.txt","r",stdin);while(cin>>n){map<string,set<string> > m;int num;string name;for(int i=0;i<n;i++){cin>>name>>num;string s;for(int j=0;j<num;j++){cin>>s;m[name].insert(s);}}cout<<m.size()<<endl;for(map<string,set<string> >::iterator it=m.begin();it!=m.end();it++){string name=(*it).first;vector<string> v;for(set<string>::iterator at=m[name].begin();at!=m[name].end();at++){string a=*at;bool flag=1;for(set<string>::iterator bt=m[name].begin();bt!=m[name].end();bt++){string b=*bt;if(a==b||a.length()>b.length()) continue;if(b.substr(b.length()-a.length(),a.length())==a){flag=0; break;}}if(flag) v.push_back(a);}cout<<name<<' '<<v.size()<<' ';for(int i=0;i<v.size();i++)cout<<v[i]<<' ';cout<<endl;}}return 0; }

轉載于:https://www.cnblogs.com/mch5201314/p/9497383.html

總結

以上是生活随笔為你收集整理的898 C. Phone Numbers的全部內容,希望文章能夠幫你解決所遇到的問題。

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