結果

問題 No.43 野球の試合
ユーザー Zu_rin
提出日時 2020-05-02 00:41:02
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,191 bytes
コンパイル時間 1,248 ms
コンパイル使用メモリ 93,920 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-25 18:46:23
合計ジャッジ時間 2,000 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 6 WA * 1
権限があれば一括ダウンロードができます

ソースコード

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