- #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 件のコメント:
コメントを投稿