USACO 1.3 calfflac

暴搜……反正过了

Compiling...

Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 2280 KB]
   Test 2: TEST OK [0.000 secs, 2280 KB]
   Test 3: TEST OK [0.000 secs, 2280 KB]
   Test 4: TEST OK [0.000 secs, 2280 KB]
   Test 5: TEST OK [0.000 secs, 2280 KB]
   Test 6: TEST OK [0.000 secs, 2280 KB]
   Test 7: TEST OK [0.000 secs, 2280 KB]
   Test 8: TEST OK [0.054 secs, 2280 KB]
/*
ID:zizz-zi1
LANG:C
TASK:calfflac
*/

#include <stdio.h>

char a[25000],b[25000]={' '};
int na=0,nb=0,f[25000];
int left,right;

int check(int m)
{
	int now,ans=0,i,j;
	now=1;
	i=1;j=0;
	while(m-i>=0&&m+i<nb)
		if(b[m-i]!=b[m+i]) break;
		else i++;
	while(m-j>=0&&m+j+1<nb)
		if(b[m-j]!=b[m+j+1]) break;
		else j++;
	if (j>=i){
		left=m-j+1;
		right=m+j;
		return 2*j;
	}
	else{
		left=m-i+1;
		right=m+i-1;
		return 2*i-1;
	}
}

int main(void)
{
	FILE *fin,*fout;
	fin=fopen("calfflac.in","r");
	fout=fopen("calfflac.out","w");
	char ch;
	int ansl,ansr,i,j,tmp,max=0;
	while((ch=getc(fin))!=EOF){
		a[na]=ch;
		na++;
	}
	for(i=0;i<na;i++)
		if(a[i]>='A'&&a[i]<='Z'){
			b[nb]=a[i];
			f[nb]=i;
			nb++;
		}
		else
			if(a[i]>='a'&&a[i]<='z'){
				b[nb]=a[i]-32;
				f[nb]=i;
				nb++;
			}
	ansl=0;ansr=0;
	for(i=0;i<nb;i++){
		if ((tmp=check(i))>max){
			max=tmp;
			ansl=left;
			ansr=right;
		}
	}
	fprintf(fout,"%d\n",max);
	for(i=f[ansl];i<=f[ansr];i++)
		fprintf(fout,"%c",a[i]);
	fprintf(fout,"\n");
	fclose(fin);fclose(fout);
	return 0;
}



Compiling...
Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 2280 KB]
   Test 2: TEST OK [0.000 secs, 2280 KB]
   Test 3: TEST OK [0.000 secs, 2280 KB]
   Test 4: TEST OK [0.000 secs, 2280 KB]
   Test 5: TEST OK [0.000 secs, 2280 KB]
   Test 6: TEST OK [0.000 secs, 2280 KB]
   Test 7: TEST OK [0.000 secs, 2280 KB]
   Test 8: TEST OK [0.054 secs, 2280 KB]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值