ACWing 4208. 电话号码

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n;
 4 
 5 unordered_map<string,set<string>>mp;
 6 vector<string>vec;
 7 unordered_map<string,int>ch;
 8 int main()
 9 {
10   cin>>n;
11   
12   for(int i=1;i<=n;i++)
13   {
14     int cnt=0;
15     string ch;
16     string s;
17     cin>>ch>>cnt;
18     vec.push_back(ch);
19     while(cnt--)
20     {
21       cin>>s;
22       mp[ch].insert(s);
23     }
24   }
25   cout<<mp.size()<<endl;
26   for(int i=0;i<vec.size();i++)
27   {
28     if(ch[vec[i]])continue;
29     ch[vec[i]]=1;
30   
31     auto mys=mp[vec[i]];
32     for(auto &q:mp[vec[i]])
33     {
34       string tmp=q;
35       int sz=tmp.size();
36       for(int i=1;i<sz;i++)
37       if(mys.find(tmp.substr(i))!=mys.end())mys.erase(tmp.substr(i));
38     }
39       cout<<vec[i]<<" "<<mys.size();
40       for(auto &p:mys)cout<<" "<<p;
41       cout<<endl;
42   }
43   return 0;
44 }
复制代码

 

posted @   matt-11  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示