⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1159.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


#include <stdio.h>
#include <memory.h>
#include <string.h>
#define min(a,b) (((a)<(b))?(a):(b))

short mem[3][5001], *ans=mem[0], *temp1=mem[1], *temp2=mem[2];
char w[5001];

int main()
{
	short i, j, l, n, *t;
	
	scanf( "%hd", &n );
	scanf( "%s", w );
	
	memset( temp1, 0, sizeof(short)*n );
	memset( temp2, 0, sizeof(short)*n );

	for( l=1; l<n; l++ )
	{
		for( i=0,j=l; i+l<n; i++,j++ )
		{
			ans[i] = ( w[i] == w[j] ) ? temp2[i+1] : 9999;

			ans[i] = min( ans[i] , temp1[i+1] + 1 );
			ans[i] = min( ans[i] , temp1[i] + 1 );
			
		}

		t = ans;
		ans = temp2;
		temp2 = temp1;
		temp1 = t;
	}

	printf( "%hd\n", temp1[0] );

	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -