codeforces 1536B Prinzessin der Verurteilung

news/2024/12/1 18:56:56/

链接:

https://codeforces.com/problemset/problem/1536/B

题意:

本题大概题意就是,找一个没出现过的最短的,最小字典序的子串。

input

3
28
qaabzwsxedcrfvtgbyhnujmiklop
13
cleanairactbd
10
aannttoonn

output

ac
f
b

我们可以用set先存入字符串a中所有的子串,然后用bfs,遍历所有的字符串,从小到大找还未存入set的子串。

代码如下:

#include<iostream>
#include<set>
#include<queue>
using namespace std;
typedef long long ll;
queue<string>q;
set<string>s;
string ans;
void bfs() {string x;q.push(x);while (!q.empty()) {string top = q.front();q.pop();if (s.find(top) == s.end()&&top.size()) {//如果在set里未找到该子串且该字符串不是空字符串ans = top;return;}for (int i = 0; i < 26; i++) {string temp = top + char('a' + i);q.push(temp);}}return;
}
int main() {int T;cin >> T;while (T--) {int n;cin >> n;string a;cin >> a;//将所有a中的子串全部存入setfor (int i = 0; i < a.size(); i++) {string temp = a.substr(i);string b;for (int j = 0; j < temp.size(); j++) {b = b + temp[j];s.insert(b);}}bfs();//bfs遍历所有子串,找未出现过的子串cout << ans;cout << endl;//注意最后要清空set和queues.clear();while (!q.empty()) {q.pop();}}return 0;
}


http://www.ppmy.cn/news/241723.html

相关文章

1536. 均分纸牌 (递推 思维

添加链接描述 本质是找一段不平衡的减去平均数后的子段数量 例如 9 8 17 6 则avg10 减去后的 -1 -2 7 -4 则前三个数字不构成0的和 最后一个数字构成平衡则不包括 #include<bits/stdc.h> using namespace std; const int N110; int arr[N],ans; int main(){int n,avg;ci…

1536B - Prinzessin der Verurteilung

题目&#xff1a;https://codeforces.com/problemset/problem/1536/B 题目大意&#xff1a;给你一串字符串&#xff0c;然后按字典序求第一个没在这个字符串中出现的子串&#xff0c;如样例&#xff1a;qaabzwsxedcrfvtgbyhnujmiklop&#xff0c;a-z都出现了&#xff0c;aa出现…

codeforces 1536C Diluc and Kaeya

链接&#xff1a; https://codeforces.com/problemset/problem/1536/C 题意&#xff1a; 给一个长度为n的dk串&#xff0c;问按dk的比例分字符串&#xff0c;每一个长度都能最多分几个字符串。 本题要用到&#xff0c;在一个dk比例的字符串后&#xff0c;加上一个相同比例的…

题目 1536: 蓝桥杯算法提高VIP-最长单词

时间限制: 1Sec 内存限制: 128MB 题目描述 编写一个函数&#xff0c;输入一行字符&#xff0c;将此字符串中最长的单词输出。 输入仅一行&#xff0c;多个单词&#xff0c;每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词&am…

洛谷P1536 村村通(java, 并查集)

链接&#xff1a;https://www.luogu.com.cn/problem/P1536 题目描述 某市调查城镇交通状况&#xff0c;得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通&#xff08;但不一定有直接的…

题目 1536: 最长单词

题目 编写一个函数&#xff0c;输入一行字符&#xff0c;将此字符串中最长的单词输出。 输入仅一行&#xff0c;多个单词&#xff0c;每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词&#xff0c;输出最先出现的。 输入 无…

hdu 1536

题目 &#xff1a;Problem - 1536 (hdu.edu.cn) #include<bits/stdc.h> using namespace std; int a[110],f[10010]; int k; int sg(int b){int t;bool g[10010]{0};for(int i0;i<k;i){tb-a[i];if(t<0){break;}if(f[t]-1){f[t]sg(t);}g[f[t]]1;}for(int h0;;h){i…

P1536 村村通(并查集)

村村通 - 洛谷https://www.luogu.com.cn/problem/P1536 #include <iostream> #include <cstdio> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <cstring> #includ…