cf801a
来源:互联网 发布:linux taskset 编辑:程序博客网 时间:2024/05/19 12:38
CF传统的思维题。感觉这种题目想到了就很简单,想不到就GG,看了别人的思路才写出来的,做个记录。
思路:先遍历一遍字符串,标记上VK,然后再遍历一遍除去标记的字符串,如果有连续的如VV或KK则加上1,这两种情况都可以转换成VK。
#include<cstdio>#include<cstring>#include<string>using namespace std;int cnt;char s[105];int main(){ while(scanf("%s",s)!=EOF){ int length=strlen(s); cnt=0; for(int i=0;i<length;i++){ if(s[i]=='V'&&s[i+1]=='K'){ cnt++; s[i]=s[i+1]='#'; i++; } } for(int i=0;i<length;i++){ if((s[i]=='V'&&s[i+1]=='V')||(s[i]=='K'&&s[i+1]=='K')){ cnt++; break; } } printf("%d\n",cnt); } return 0;}