STL里的next_permutation和strchr的配合使用,很方便
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;

int main()


{
int n;
char input[100][6];
while (scanf("%d",&n)!=EOF)

{
if (n==0)
break;

char team[6]=
{'A','B','C','D','E'};
for (int i=0;i<n;i++)

{
scanf("%s",input[i]);
}
int count,min=9999;
char output[6];
do

{
count=0;
for (int i=0;i<n;i++)

{
for (int j=0;j<4;j++)

{
for (int k=j+1;k<5;k++)

{
if (strchr(input[i],team[j])>strchr(input[i],team[k]))

{
count++;
}
}
}
}
if (count<min)

{
min=count;
memcpy(output,team,6);
}
} while (next_permutation(team,team+5));
printf("%s is the median ranking with value %d.\n",output,min);
}
}

