Educational Codeforces Round 12 C 字符串和dp
Educational Codeforces Round 12 C
zscoder喜欢简单字符串!如果每一对相邻字符都是不同的,则称为简单字符串 t 。例如,ab, aba, zscoder 是简单字符串,而 aa, add 则不简单。
zscoder 给出了一个字符串 s 。他想更改最少的字符数,使字符串 s 变得简单。请帮助他完成这项任务!
输出
打印简单字符串 s' - 最小更改次数后的字符串 s 。如果有多个解决方案,可以输出其中任何一个。
请注意,字符串 s' 也只能由小写英文字母组成。
// Problem: C. Simple Strings
// Contest: Codeforces - Educational Codeforces Round 12
// URL:
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor ()#include<bits/stdc++.h>
using namespace std;typedef long long ll;const int N = 2e5+5;int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);string a;cin>>a;for(int i=0;i<a.size();i++){if(a[i]==a[i+1]){int j=i;while(j+1<a.size()&&a[j]==a[j+1]){j++;}for(int k=i+1;k<=j;k+=2){for(int i='a';i<='z';i++){if(i!=a[k-1]&&i!=a[k+1]){a[k]=i;}}}}}cout<<a<<"\n";return 0; }
Educational Codeforces Round 12 C 字符串和dp
Educational Codeforces Round 12 C
zscoder喜欢简单字符串!如果每一对相邻字符都是不同的,则称为简单字符串 t 。例如,ab, aba, zscoder 是简单字符串,而 aa, add 则不简单。
zscoder 给出了一个字符串 s 。他想更改最少的字符数,使字符串 s 变得简单。请帮助他完成这项任务!
输出
打印简单字符串 s' - 最小更改次数后的字符串 s 。如果有多个解决方案,可以输出其中任何一个。
请注意,字符串 s' 也只能由小写英文字母组成。
// Problem: C. Simple Strings
// Contest: Codeforces - Educational Codeforces Round 12
// URL:
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor ()#include<bits/stdc++.h>
using namespace std;typedef long long ll;const int N = 2e5+5;int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);string a;cin>>a;for(int i=0;i<a.size();i++){if(a[i]==a[i+1]){int j=i;while(j+1<a.size()&&a[j]==a[j+1]){j++;}for(int k=i+1;k<=j;k+=2){for(int i='a';i<='z';i++){if(i!=a[k-1]&&i!=a[k+1]){a[k]=i;}}}}}cout<<a<<"\n";return 0; }