HDU 2577 How to Type

呵呵

一层for循环暴力即可

策略在于仅当后两个字母和之前字母不同时才按下CapsLock

例如(AbbAAA)    ( aBBcccc)

其他情况(AAAbCCC   cccDkkk)按下shift

DP也可

#include<cstdio>
#include <cctype>
#include <cstring>
using namespace std;
int main()
{
	int T;
	char str[105];
	scanf("%d%*c",&T);
	while(T--){
		gets(str);
		bool mark=false;
		int len=strlen(str);
		int ans=len;
		for(int i=0;i<len;i++){
			if(isupper(str[i])!=mark){
				if(isupper(str[i+1])!=mark)
					mark=!mark;
				ans++;
			}
		}
		if(mark) ans++;
		printf("%d\n",ans);
	}
	return 0;
}


 

你可能感兴趣的:(HDU 2577 How to Type)