Codeforces Round #170 (Div. 2)
发布日期:2021-06-30 15:14:30 浏览次数:2 分类:技术文章

本文共 1031 字,大约阅读时间需要 3 分钟。

题意是输出不作为任何已知字符串的子串当中字典序最小的子串,一个关键的地方是应该学会头文件#include<queue>的使用。queue的基本操作有:

1.入队 如q.push(x);将x接到队列的末端;

2.出队 如q.pop();弹出队列的第一个元素,注意,并不会返回被弹出元素的值;

3.访问队首元素 如q.front();即最早被压入队列的元素;

4.访问队末元素 如q.back();即最先被压入队列的元素;

5.判断队为空 如q.empty();当队列空时,返回true;

6.访问队列中的元素个数 如q.size()。

#include 
#include
#include
using namespace std;int n, t;string s[31];bool present(string cur){ for (int i = 0; i < n; i++) if (s[i].find(cur) != string::npos) return true; return 0;}string bfs(){ queue
Q; Q.push(""); while (!Q.empty()) { string cur = Q.front(); //cout << cur << endl; Q.pop(); if (!present(cur)) return cur; for (char c = 'a'; c <= 'z'; c++) { string to = cur + c; cout << to << " "; Q.push(to); } }}int main(){ cin>>n; for (int i = 0; i < n; i++) cin >> s[i]; cout <
<< endl; return 0;}
其实这道题的代码不是我自己写的,别人给归类到bfs。

转载地址:https://jianzhuwang.blog.csdn.net/article/details/45030559 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Codeforces Round #176 (Div. 2)
下一篇:Codeforces Round #297 (Div. 2)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 12时55分53秒