[CF709C] Letters Cyclic Shift(暴力)
2016-08-25 03:25
274 查看
题目链接:http://codeforces.com/contest/709/problem/C
题意:给一个字符串,选中一个连续区间修改,修改是将区间内字符顺时针转。问如何修改使得字符串字典序最小。
选中第一个非a的字符和第二个a字符之前作为区间修改即可。
题意:给一个字符串,选中一个连续区间修改,修改是将区间内字符顺时针转。问如何修改使得字符串字典序最小。
选中第一个非a的字符和第二个a字符之前作为区间修改即可。
/* ━━━━━┒ギリギリ♂ eye! ┓┏┓┏┓┃キリキリ♂ mind! ┛┗┛┗┛┃\○/ ┓┏┓┏┓┃ / ┛┗┛┗┛┃ノ) ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┛┗┛┗┛┃ ┓┏┓┏┓┃ ┃┃┃┃┃┃ ┻┻┻┻┻┻ */ #include <algorithm> #include <iostream> #include <iomanip> #include <cstring> #include <climits> #include <complex> #include <fstream> #include <cassert> #include <cstdio> #include <bitset> #include <vector> #include <deque> #include <queue> #include <stack> #include <ctime> #include <set> #include <map> #include <cmath> using namespace std; #define fr first #define sc second #define cl clear #define BUG puts("here!!!") #define W(a) while(a--) #define pb(a) push_back(a) #define Rint(a) scanf("%d", &a) #define Rs(a) scanf("%s", a) #define Cin(a) cin >> a #define FRead() freopen("in", "r", stdin) #define FWrite() freopen("out", "w", stdout) #define Rep(i, len) for(int i = 0; i < (len); i++) #define For(i, a, len) for(int i = (a); i < (len); i++) #define Cls(a) memset((a), 0, sizeof(a)) #define Clr(a, x) memset((a), (x), sizeof(a)) #define Full(a) memset((a), 0x7f7f7f, sizeof(a)) #define lrt rt << 1 #define rrt rt << 1 | 1 #define pi 3.14159265359 #define RT return #define lowbit(x) x & (-x) #define onecnt(x) __builtin_popcount(x) typedef long long LL; typedef long double LD; typedef unsigned long long ULL; typedef pair<int, int> pii; typedef pair<string, int> psi; typedef pair<LL, LL> pll; typedef map<string, int> msi; typedef vector<int> vi; typedef vector<LL> vl; typedef vector<vl> vvl; typedef vector<bool> vb; const int maxn = 100100; char s[maxn]; int n; void convert(int x, int y) { for(int i = x; i < y; i++) { if(s[i] == 'a') s[i] = 'z'; else s[i]--; } } int main() { // FRead(); while(~Rs(s)) { n = strlen(s); bool ok = 0; int ss = 0x7f7f7f, tt = n; Rep(i, n) { if(s[i] != 'a') { ss = i; break; } } for(int i = ss+1; i < n; i++) { if(s[i] == 'a') { tt = i; break; } } if(ss == 0x7f7f7f) { s[n-1] = 'z'; } else { convert(ss, tt); } printf("%s\n", s); } RT 0; }
相关文章推荐
- CodeForces A. Letters Cyclic Shift【字符串】
- 【codeforces709C】Letters Cyclic Shift——小水题
- A. Letters Cyclic Shift
- 【codeforces 709C】Letters Cyclic Shift
- codeforces 708A - Letters Cyclic Shift
- AIM Tech Round 3 (Div. 1) A. Letters Cyclic Shift 贪心
- codeforce708A-Letters Cyclic Shift
- Codeforces Round #385 (Div. 2)A.Hongcow Learns the Cyclic Shift【暴力】水题
- Codeforces Aim Tech Round 3 (Div.2 )C.Letters Cyclic Shift 【贪心】水题
- AIM Tech Round 3 (Div. 1) A. Letters Cyclic Shift 贪心
- A. Hongcow Learns the Cyclic Shift #385
- A. Hongcow Learns the Cyclic Shift #385
- A. Hongcow Learns the Cyclic Shift
- Largest Smallest Cyclic Shift
- Hongcow Learns the Cyclic Shift CodeForces - 745A
- 【67.24%】【codeforces 745A】Hongcow Learns the Cyclic Shift
- A. Hongcow Learns the Cyclic Shift #385
- cf Hongcow Learns the Cyclic Shift
- A. Hongcow Learns the Cyclic Shift #385
- A. Hongcow Learns the Cyclic Shift #385