比赛 20151028a 评测结果 AAAAAAAAEAAAAAAEEEEEEEEEEEEEEEEEEEEAAEEEEEEEE
题目名称 愉快的logo设计 最终得分 35
用户昵称 实力演员阵容 运行时间 2.347 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2017-09-19 20:39:37
显示代码纯文本
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int k;
char s[10000]={0};
char temp[10000]={0};
int z=0;
int _4i[11]={1,4,16,64,256,1024,4096,16384,65536,262144,1048576};
void DFS(int k){
	if(k>0){
		for(int i=0;i<_4i[k-1];i++)
			temp[z++]='J';
		for(int i=0;i<_4i[k-1];i++)
			temp[z++]='O';
		for(int i=0;i<_4i[k-1];i++)
			temp[z++]='I';
		DFS(k-1);
	}
}
int main(){
	freopen("JOI.in","r",stdin);
	freopen("JOI.out","w",stdout);
	int ans=int(1e5);
	scanf("%d",&k);
	scanf("%s",s);
	DFS(k);
	temp[z++]=0;
	int n=_4i[k];
	for(int i=0;i<strlen(s);i++){
		int sum=0;
		int l=i;
		for(int j=0;j<z;j++)
			if(s[l++%n]!=temp[j])
				sum++;
		ans=min(ans,sum);
	}
	printf("%d",ans-1);
}