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

📄 2207.cpp

📁 自己的ac代码 在acm.zju.edu.cn 上的题目
💻 CPP
字号:
#include<stdio.h>
#include<string.h>
char temp[5][5];
char s[200][10];
char mins[10];
char se[10];
int minn;
int n;
int distance(char *s,char *t)
{
	memset(temp,0,sizeof(temp));
	int i,j,c;
	for(i=0;i<5;i++)
		for(j=i+1;j<5;j++)
			temp[(s[i]-'A')][s[j]-'A']++;
	for(i=0;i<5;i++)
		for(j=i+1;j<5;j++)
			temp[(t[i]-'A')][t[j]-'A']++;
	c=0;
	for(i=0;i<5;i++)
		for(j=0;j<5;j++)
			if(temp[i][j]==1)c++;
	c/=2;
	return c;
}
int use[10];
void Search(int t)
{
	if(t==5)
	{
		se[5]='\0';
		int i;
		int c=0;
		for(i=1;i<=n;i++)
		{
			c+=distance(se,s[i]);			
		}
		if(c<minn){strcpy(mins,se);minn=c;}

	}
	else
	{
		int i;
		for(i=0;i<5;i++)if(use[i]!=1)
		{
			use[i]=1;
			se[t]=char('A'+i);
			Search(t+1);
			use[i]=0;
		}
	}

	
}





	


int main()
{
	
	int i,j,k;
	
	
	int c;
	while(scanf("%d",&n))
	{
		if(n==0)break;
		minn=100000000;
		for(i=1;i<=n;i++)
			scanf("%s",s[i]);
		memset(use,0,sizeof(use));
		Search(0);
		
		printf("%s is the median ranking with value %d.\n",mins,minn);
	}
	return 0;
}







⌨️ 快捷键说明

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