codeforce New Problem(dfs)
来源:互联网 发布:营销引流软件 编辑:程序博客网 时间:2024/06/07 06:26
题目链接:点击打开链接
Coming up with a new problem isn't as easy as many people think. Sometimes it is hard enough to name it. We'll consider a title original if it doesn't occur as a substring in any titles of recent Codeforces problems.
You've got the titles of n last problems — the strings, consisting of lowercase English letters. Your task is to find the shortest original title for the new problem. If there are multiple such titles, choose the lexicographically minimum one. Note, that title of the problem can't be an empty string.
A substring s[l... r] (1 ≤ l ≤ r ≤ |s|) of string s = s1s2... s|s| (where |s| is the length of string s) is string slsl + 1... sr.
String x = x1x2... xp is lexicographically smaller than string y = y1y2... yq, if either p < q and x1 = y1, x2 = y2, ... , xp = yp, or there exists such number r (r < p, r < q), that x1 = y1, x2 = y2, ... , xr = yr and xr + 1 < yr + 1. The string characters are compared by their ASCII codes.
The first line contains integer n (1 ≤ n ≤ 30) — the number of titles you've got to consider. Then follow n problem titles, one per line. Each title only consists of lowercase English letters (specifically, it doesn't contain any spaces) and has the length from 1 to 20, inclusive.
Print a string, consisting of lowercase English letters — the lexicographically minimum shortest original title.
5threehorsesgoodsubstringssecretprimematrixbeautifulyear
j
4aabdefghijklmnopqrstuvwxyzc
ab
In the first sample the first 9 letters of the English alphabet (a, b, c, d, e, f, g, h, i) occur in the problem titles, so the answer is letter j.
In the second sample the titles contain 26 English letters, so the shortest original title cannot have length 1. Title aa occurs as a substring in the first title.
基本思路:dfs,这个题是在秋季集训的第一次测试做的,作为实验室最菜的我,一开始就思路错的,考虑的情况太少了,所以只能在补题时做了.不过一天之后还是自己做出来了.闲话少说.要想找到符合题意的字串,他会在不同长度的时候有很多种,比如:长度为三时,aaa,bbb.aba,等等都是,也就是说,每一位上都会有26中可能,因为要求字典序最小,那就从最小的开始查找即可,当字符串的长度为i时,就去暴力比较是不是那n个字符串的字串,如果不是就输出该字符串.(可能说的有点乱,具体看代码吧)
<span style="font-size:18px;">#include<cstring>#include<iostream>#include<cstdio>using namespace std;char str[50][50];char ch[50];int n;int f;void dfs(int top,int h){ if(f)return; if(top>h)return; if(top==h) { ch[top]='\0'; int flag=1; for(int i=0;i<n;i++) { if(strstr(str[i],ch)) { flag=0; } } if(flag) { f=1; cout<<ch<<endl; return; } } for(int i=0;i<26;i++) { ch[top]='a'+i; dfs(top+1,h); }}int main(){ while(cin>>n) { for(int i=0;i<n;i++) { cin>>str[i]; } f=0; for(int i=1;;i++) { dfs(0,i); if(f)break; } } return 0;}</span>
- codeforce New Problem(dfs)
- codeforce 776 D The Door Problem(DFS遍历)
- codeforce 6B dfs
- *【codeforce】782C 【dfs】
- DFS&&codeforce 598d
- codeforce 659E New Reform
- codeforce 659E (dfs 水~)
- Codeforce 893C Rumor (dfs)
- codeforce#367C. Hard problem
- CodeForce 628B New Skateboard 水题
- Codeforce 500c New Year Book Reading
- codeforce C. Valera and Elections (DFS)
- CodeForce 505C Mr. Kitayuta(DP+DFS)
- codeforce 550c Divisibility by Eight (DFS)
- Codeforce 735AOstap and Grasshopper DFS
- Codeforce#394E. Dasha and Puzzle(dfs)
- Codeforce 839C Journey (dfs+概率)
- Codeforce 527D Clique Problem题解
- 建议88:并行并不总是速度更快
- c# webapi POST 参数解决方法
- #249 – 在FlowDocument中创建表格(Creating a Table in a FlowDocument)
- 《你的知识需要管理》
- ARM 伪指令
- codeforce New Problem(dfs)
- 入门-如何查看数据库是哪个用户建立的
- iOS数组倒序排列
- linux sort,uniq,cut,wc命令详解
- c++基础知识整理(1)
- iOS开发小结 - 让你的APP后台运行
- Eclipes检测内存泄漏
- Makefile之我学
- JAVA