题目链接:http://codeforces.com/contest/861/problem/D

解题思路:

  优雅的暴力。

  对于输入的每一个号码,从短到长找出它的所有子串,用 vector 保存每个号码对应的所有子串,用 map 为所有子串做标记,输出答案的时候只需要按输入顺序遍历每个号码,遍历它保存在 vector 里面的所有子串,找出可行解即可。

AC代码:

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = +;
const int inf = 0x7fffffff;
map<string,int> num_p;
string num;
vector<string> subnum[maxn];
int main(){
ios::sync_with_stdio(false);
int n;
bool can;
cin>>n;
for(int t=;t<=n;t++){
cin>>num;
for(int i=;i<=;i++){
for(int j=;j<=-i;j++){
string temp=num.substr(j,i);
if(num_p[temp]==){
num_p[temp]=t;
subnum[t].push_back(temp);
}
else if(num_p[temp]!=t) num_p[temp]=-; //有多个号码有这个子串,-1表示不可用
}
}
}
for(int t=;t<=n;t++){
for(int i=;i<subnum[t].size();i++){
if(num_p[subnum[t][i]]==t){
cout<<subnum[t][i]<<endl;
break;
}
}
} return ;
}

CF861D的更多相关文章

  1. cf861D 字典树+时间戳

    好久没碰字典树之类的题了,搞起来有点生疏 /* 把所有母串的后缀加入字典树中 然后再扫一次所有母串的后缀,把后缀放到字典树中查询,找到第一个访问次数为1的结点返回即可 num在计数时,同一个母串的子串 ...

随机推荐

  1. 疫情之下微软收入猛增15%!远程办公产品Teams日活达7500万

    当地时间 2020 年 4 月 29 日,微软公布了截止 2020 年 3 月 31 日的 2020 财年第三季度财报. 这是微软首次在财报中显示新冠疫情的影响——疫情之下,远程办公.远程教育和游戏场 ...

  2. Python内置函数enumerate()

    enumerate()是Python的内置函数. help(enumerate) Help on class enumerate in module builtins: class enumerate ...

  3. 自定义View之Canvas使用

    自定义View的绘制流程一般都是这样:提前创建好Paint对象,重写onDraw(),把绘制代码卸载ondraw()里面,大致如下: Paint paint = new Paint(); @Overr ...

  4. Leetcode2 两数相加 Python

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  5. P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码

    题目描述 输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1,请找出所有满足条件的分数. 这有一个例子,当N=5时,所有解 ...

  6. muduo网络库源码学习————线程本地单例类封装

    muduo库中线程本地单例类封装代码是ThreadLocalSingleton.h 如下所示: //线程本地单例类封装 // Use of this source code is governed b ...

  7. MySQL 8.0.20 源码安装数据库软件

    官方支持的平台: https://www.mysql.com/support/supportedplatforms/database.html

  8. 【Java8新特性】Lambda表达式基础语法,都在这儿了!!

    写在前面 前面积极响应读者的需求,写了两篇Java新特性的文章.有小伙伴留言说:感觉Lambda表达式很强大啊!一行代码就能够搞定那么多功能!我想学习下Lambda表达式的语法,可以吗?我的回答是:没 ...

  9. 安装MySQL8(附详细图文)

    安装MySQL8(附详细图文) 删除mysql服务:mysqld -remove mysql 1.下载 mysql 8 下载地址:https://dev.mysql.com/downloads/mys ...

  10. Coursera课程笔记----计算导论与C语言基础----Week 11

    C程序中的字符串(Week 11) 字符数组 所有的字符串,都是以\0结尾的 只能在数组定义并初始化的时候:char c[6] = "China"; 不能用赋值语句将一个字符串常量 ...