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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式行业需要什么样的技术人才?

关注「嵌入式大杂烩」&#xff0c;选择「星标公众号」一起进步&#xff01;来源 | 巧学模电数电单片机嵌入式行业需要什么样的技术人才&#xff1f;仔细观察各种招聘的岗位要求吧&#xff0c;无非是两方面。1&#xff09;通用要求比如什么学历&#xff0c;多少年工作经验&#…

oracle临时表空间地址,Oracle认证:详解OracleTemp临时表空间处理方法

临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间&#xff0c;当运算完成之后系统会自动清理。当oracle里需要用到sort的时候&#xff0c;PGA中sort_area_size大小不够时&#xff0c;将会把数据放入临时表空间里进行排序&#xff0c;同…

消除VIM光标闪烁

2019独角兽企业重金招聘Python工程师标准>>> VIM光标闪烁比较影响人读代码的心情&#xff0c;消除光标闪烁&#xff0c;在配置文件中写下set gcra:block-blinkon0 保存并重启VIM 即可消除光标闪烁。 转载于:https://my.oschina.net/tonyyang/blog/10240

java异常个人理解

废话不说先贴图 所有的异常和错误都继承与Throwable类&#xff0c;它的下面又分为两大子类。 1.Error(uncheck) Error,错误。它是java程序中不被捕获的错误&#xff0c;并且总是不被控制。 例如&#xff1a;OutOfMemoryError 2.Exception(check) Exception,异常。所有的异常类都…

华为专家助你1个月拿下物联网高工认证,首次提供全方位就业指导!

物联网职业方向主要包括研究型岗位、研发型岗位、技术型岗位和技能型岗位4类&#xff1a;技能型岗位&#xff1a;工作内容主要是系统部署实施、运维管理等技术支持服务。技术型岗位&#xff1a;工作内容主要是负责物联网系统规划、设计、集成、技术咨询。研发型岗位&#xff1a…

小型机oracle命令,Oracle小型机如何选型

Oracle小型机如何选型我们知道服务器在选型时具备以下五个原则&#xff1a;高性能、高可靠、高可扩展、安全性以及可管理性等。而实际上&#xff0c;不同的应用程序对服务器硬件的需求也有所不同。我们将针对Oracle目前的产品系列&#xff0c;分析其对不同应用系统的需求符合程…

linux 每日学一点《明明白白配置lilo启动引导器》

明明白白配置lilo启动引导器怎样配置好lilo文件?LILO 是Linux 自带的一个优秀的开机启动管理程序&#xff0c;它可以开机时启动Linux&#xff0c;PC/MS-DOS&#xff0c;DR DOS&#xff0c;OS/2&#xff0c;Windows 95&#xff0c;Windows NT&#xff0c;386BSD&#xff0c; SC…

openstack添加热添加硬盘并识别

假定在虚拟机当中添加了磁盘&#xff0c;但是虚拟机没有识别出来&#xff1b;如何识别出来 可以使用命令 echo - - - >/sys/class/scsi_host/host0/scan 使用后就可以识别出来了 ###增加两块硬盘 默认是不会识别 [rootcompute1 ~]# fdisk -l Disk /dev/sda: 53.7 GB, 536870…

php获取linux是几核的,linux下怎么查看机器cpu是几核的

linux下怎么查看机器cpu是几核的&#xff1f;linux下查看机器是cpu是几核的几个cpumore /proc/cpuinfo |grep "physical id"|uniq|wc -l每个cpu是几核(假设cpu配置相同)more /proc/cpuinfo |grep "physical id"|grep "0"|wc -lcat /proc/cpuinfo…

我的自学编程之路!

大家好&#xff0c;我是写代码的篮球球痴昨晚上打车回家&#xff0c;接我的滴滴司机是一个年纪比较大的大姐&#xff0c;她说她儿子毕业了&#xff0c;但是找不到好的工作&#xff0c;就报名参加了编程培训&#xff0c;培训费两万多。我就问&#xff0c;那谁给他学费&#xff0…

鹰眼拓扑锁定跟踪 网络管理一目了然

为什么要在网管软件中引入“鹰眼”的概念&#xff1f; 企业网管经常遇到的问题是&#xff1a;为什么业务人员访问生产系统&#xff08;例如ERP等&#xff09;速度非常慢&#xff0c;甚至无法访问&#xff1f;邮件系统无法使用&#xff1f;下载数据时总是无法连接&#xff…

读工作31年退休的同事离职信有感

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;下面的文章是我的朋友痞子衡写的。大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡不讲技术&#xff0c;跟大家随便唠唠嗑。这周五&#xff0c;痞子衡收到了一位来自恩智浦深圳分公司同事的离职信…

winform执行oracle语句,C#中的Winform应用程序连接远程Oracle数据库的配置文件及SQL语句的写法...

远程连接Oracle数据库的配置文件及sql语句近期&#xff0c;应朋友的要求&#xff0c;用C#语言开发了一个winform应用程序&#xff0c;要求的是连接到远程的Oracle数据库&#xff0c;用惯了SQL Server的我突然有点懵&#xff0c;然后通过一个简单的笔记来记录下对应的坑。连接本…

Silverlight 计时器

代码 publicpartialclassMainPage : UserControl{inti 1;TextBlock myTextBlock;publicMainPage(){ InitializeComponent(); myTextBlock newTextBlock(); myTextBlock.Loaded this.StartTimer; myTextBlock.Margin newThickness(30); LayoutRoot.Children.Add(myTextBlock);}p…

这三个Offer,你怎么选?

前几天&#xff0c;有读者给我发信息&#xff0c;让我帮他看一下offer的选择&#xff1a;字节、腾讯天美、阿里云&#xff0c;随便一个都是羡煞旁人的offer&#xff0c;这家伙一下拿了三个&#xff0c;我都开始酸了起来。于是我让他总结一下面试过程中考察的知识点&#xff0c;…

xmlspy php,XMLSpy使用流程 - tnlzz31985的个人空间 - OSCHINA - 中文开源技术交流社区

1、新建一个xsd W3C XML Schema类型的文件&#xff1a;2、添加元素和属性3、生成xml文件4、保存xsd文件和xml文件5、将xsd文件和xml文件添加到C#项目中6、利用vs->工具->外部工具&#xff0c;选择XMLspy&#xff0c;命令&#xff1a;C:\Program Files\Microsoft SDKs\Win…

c/c++ 友元基本概念

友元基本概念&#xff1a; 1&#xff0c;把一个一般函数声明为一个类的友元函数 2&#xff0c;把一个类A的某几个成员函数声明为某个类B的友元函数 3&#xff0c;把一个类A声明为一个类B的友元类。 友元的作用&#xff1a;可以访问类B里所有的成员变量和成员方法&#xff0c;不…

挖掘经典:几乎被人遗忘的HTML七种用法 (转)

转来学习http://www.cnblogs.com/netWild/archive/2010/11/30/1892418.html 当今的WEB领域&#xff0c;新概念、新技术不断涌现 -- WEB2.0、AJAX、HTML5.0... ... 但在几乎被我们忽略的HTML和XHTML里&#xff0c;还有许多并不为人所知的&#xff0c;但却非常有用的一些TAG 以下…

这种扯淡的嵌入式项目,尽量不要碰

第一种&#xff1a;画大饼的项目不接。有的客户会很热情的找到你&#xff0c;告诉你这个项目如何如何地有前途&#xff0c;产品研发成功了之后会有多么大的出货量&#xff0c;会有多么丰厚的利润&#xff0c;建议你一起跟他创业合作&#xff0c;成功了之后给你高额提成。但是产…

Linux编译内核出错怎么抓log,内核编译失败

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼.config:491:warning: trying to assign nonexistent symbol DEBUG_CROND_OPTION.config:506:warning: trying to assign nonexistent symbol FEATURE_LESS_FLAGCS.config:549:warning: trying to assign nonexistent symbol FEATU…