AIM Tech Round 3 (Div. 2) C(贪心)

来源:互联网 发布:网络工程项目名称 编辑:程序博客网 时间:2024/05/23 01:58

传送门:C. Letters Cyclic Shift

题意:将z可以变成y,在ascII码减一,a则变成z,可以改变一个非空子串(必须改变),求字典序最小的答案

思路:贪心,除非全是a,否则找到第一个不是a的子串shift。如果全是a,最后一个a变成z

#include <bits/stdc++.h>using  namespace  std;string s;int  main(){  std::ios::sync_with_stdio(false);  std::cin.tie(0);  while(cin>>s){    int flag=0;    for(int i=0; i<s.size(); i++){      if(s[i]!='a'){ s[i]-=1;flag=1;continue;}      if(flag && s[i]=='a')break;      if(!flag && s[i]=='a' && i==s.size()-1){ s[i]='z';break;}    }    cout<<s<<endl;  }  return 0;}


0 0
原创粉丝点击