結果

問題 No.43 野球の試合
ユーザー Zu_rinZu_rin
提出日時 2020-05-02 00:41:02
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 1,191 bytes
コンパイル時間 992 ms
コンパイル使用メモリ 93,804 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-07 14:01:55
合計ジャッジ時間 1,571 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,816 KB
testcase_01 AC 2 ms
6,940 KB
testcase_02 AC 2 ms
6,940 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 AC 2 ms
6,940 KB
testcase_06 AC 2 ms
6,944 KB
testcase_07 AC 2 ms
6,944 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,944 KB
testcase_10 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
#include <string>
#include <list>
#include <map>
#include <queue>
#include <algorithm>
#define rep(i, n) for(i = 0; i < (n); i++)
#define chmax(x, y) x = max(x, y)
#define chmin(x, y) x = min(x, y)
#define MOD 1000000007
#define PI 3.14159265358979323846
#define INF 1 << 30

using namespace std;
typedef long long ll;
typedef pair<int, int> pp;

int main(void) {
	int num, i, j, win, k = 0;
	cin >> num;
	vector<string> d(num);
	vector<int> pend(num, 0);
	priority_queue<pp, vector<pp>, greater<pp>> que;
	map<int, int> mp;
	rep(i, num)
		cin >> d[i];
	rep(i, num) {
		if (d[0][i] == '-') {
			d[0][i] = 'o';
			d[i][0] = 'x';
		}
		if (d[0][i] == 'o')
			k++;
	}
	for(i = 1; i < num; i++) {
		win = 0;
		rep(j, num) {
			if (d[i][j] == 'o')
				win++;
			else if (d[i][j] == '-')
				pend[i]++;
		}
		que.push(make_pair(win, i));
	}
	while (!que.empty()) {
		pp a = que.top();  que.pop();
		if (pend[a.second]) {
			i = d[a.second].find("-");
			d[i][a.second] = d[a.second][i] = '=';
			pend[a.second]--;
			pend[i]--;
			a.first++;
			que.push(a);
		}
		else {
			if (a.first > k)
				mp[a.first];
		}
	}
	cout << mp.size() + 1 << "\n";
	return 0;
}
0