1536B - Prinzessin der Verurteilung

news/2024/11/14 23:55:39/

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

题目大意:给你一串字符串,然后按字典序求第一个没在这个字符串中出现的子串,如样例:qaabzwsxedcrfvtgbyhnujmiklop,a-z都出现了,aa出现了,ab出现了,ac没出现,答案就是ac。

题解:先用set保存出现过后的子串,然后进行判断

         因为n<1000<27+27^2+27^3,所以子串最长长度为3 

//#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <set>
#include <string>
using namespace std;
typedef long long int ll;set<string>s;
int main()
{int t;cin >> t;while (t--){int n;string b;cin >> n >> b;s.clear();//1000<26+26^2+26^3for (int j = 1; j <= 3; j++)//字串长度{for (int i = 0; i < n; i++){string a;//min(n,i + j)若超出n则用nint minn = min(n, i + j);;for (int k = i; k < minn; k++){a += b[k];}//存下所有子串s.insert(a);}}string ans = "a";while (1){if (!s.count(ans))//判断在不在set里面{cout  << ans << endl;break;}int len = ans.size();if (ans[len - 1] == 'z')//如果最后为z{while (len >= 1 && ans[len - 1] == 'z')//前一位还是z,进行循环{ans[len - 1] = 'a';len--;}if (len  ==  0)//循环到最前方,进行加法{ans = 'a' + ans;continue;}if ( ans[len - 1] != 'z')//循环到中间,进行加法{ans[len - 1]++;}}else{ans[ans.size() - 1]++;//不为z直接加}}}
}


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

相关文章

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…

洛达1536u升级固件_华强北、洛达1562A、1562F、1562M、1536U、蓝汛、杰里、悦虎、阿德Air、阿德AirPods、小梁同学Mg、之终极PK...

关于洛达1562系列1562A、F、M三款芯片的全方位知识点解答 1.目前1562系列有A、F、M&#xff0c;正确的排序应该是A>F>M。 与1562F都是可以做降噪的&#xff0c;但是1562A是支持双麦双馈主动降噪&#xff0c;而1562F是只能支持单麦单馈。&#xff08;这里不难理解单麦单馈…

CF1536A Omkar and Bad Story

原题链接 题意 思路 如果是负数的话&#xff0c;那么肯定是no&#xff0c;因为是负数就会不断产生新数。 另外就全是YES&#xff0c;因为 a i a_i ai​ 的范围是100&#xff0c;而 b b b 数组&#xff0c;的范围是300&#xff0c;那么就直接输出 [ 0 , 299 ] [0, 299] [0,2…