#include <iostream>
using namespace std;
int main()
{
int n;
while (cin >> n, n)
{
char name[10];
int win[10] = {0};
int lose[10] = {0};
for (int i = 0; i < n; i++)
{
cin >> name[i];
for (int j = 0; j < n - 1; j++)
{
int s;
cin >> s;
if (s == 0)
win[i]++;
if (s == 1)
lose[i]++;
}
}
for (int i = n - 1; i > -1; i--)
for (int j = 0; j < n - i; j++)
for (int k = 0; k < n; k++)
if (win[k] == i && lose[k] == j)
cout << name[k] << endl;
}
return 0;
}
本来,ソートを行うべきですが,入力されるチーム数が最大10と少ないため,
ソートせずに,全勝のチーム,1敗 0引き分けのチームといった順番にヒット?させています.
絶対無駄な処理があり,実行速度は若干遅いだろうと思いますが,
コード自体がスッキリするので,これもありなんじゃないかと思います.
0 件のコメント:
コメントを投稿