📄 2070825_ac_15ms_68k.cc
字号:
# include <stdio.h>
# include <algorithm>
using namespace std;
int n;
char rank[101][6];
char per[121][6];
int cal(char a[], char b[])
{
int i, j;
int pa[6], pb[6];
for(i = 0; i < 5; i++)
{
pa[a[i]-'A'] = i;
pb[b[i]-'A'] = i;
}
int ans = 0;
for(i = 0; i < 4; i++)
for(j = i+1; j < 5; j++)
if((pa[i]-pa[j])*(pb[i]-pb[j])<0)
ans++;
return ans;
}
void input()
{
int i, j, tmp, MAX;
char ans[6];
while(scanf("%d",&n)==1&&n)
{
MAX = 30000;
for(i = 0; i < n; i++)
scanf("%s",rank[i]);
for(i = 0; i < 120; i++)
{
tmp = 0;
for(j = 0; j < n; j++)
{
tmp += cal(per[i],rank[j]);
}
if(tmp < MAX)
{
MAX = tmp;
strcpy(ans,per[i]);
}
}
printf("%s is the median ranking with value %d.\n",ans,MAX);
}
}
void init()
{
int i = 0;
char tmp[6] = "ABCDE";
do
{
strcpy(per[i],tmp);
i++;
}while(next_permutation(tmp,tmp+5));
}
int main()
{
init();
input();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -