标签:else 情况 eee pre int fill 除了 个数 连续
代码:
#include <iostream> #include <string> #include <algorithm> using namespace std; #define GOOD 1 #define BAD 0 int main() { int k; cin>>k; string str; cin>>str; int Hash[128]; fill(Hash,Hash+128,-1); int i=0; while(i<str.size()){ int s=i; char ch=str[i]; while(i<str.size() && str[i]==ch) i++; int len=i-s; if(len%k==0 && Hash[ch]!=GOOD)//当前字符ch恰出现k的整数倍次,且确定不是好键,针对如"aabbbaaa"
Hash[ch]=BAD; else
Hash[ch]=GOOD; } i=0; string oriStr; while(i<str.size()){ oriStr+=str[i]; if(Hash[str[i]]!=GOOD) { if(Hash[str[i]]==BAD){ cout<<str[i]; Hash[str[i]]=999;//避免坏键重复输出 } i+=k; }else{ i++; } } cout<<"\n"<<oriStr; return 0; }
标签:else 情况 eee pre int fill 除了 个数 连续
原文地址:https://www.cnblogs.com/kkmjy/p/9589254.html