結果
| 問題 |
No.43 野球の試合
|
| コンテスト | |
| ユーザー |
Bantako
|
| 提出日時 | 2018-06-07 00:31:44 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,486 bytes |
| コンパイル時間 | 1,822 ms |
| コンパイル使用メモリ | 178,888 KB |
| 実行使用メモリ | 6,940 KB |
| 最終ジャッジ日時 | 2024-06-30 10:25:13 |
| 合計ジャッジ時間 | 2,343 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 6 WA * 1 |
コンパイルメッセージ
main.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
8 | main(){
| ^~~~
ソースコード
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=int(a);i<int(b);++i)
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
int INF = (1LL << 30) - 1;
int MOD = 1e9+7;
main(){
int N;
cin >> N;
vector<string> S(N);
rep(i,0,N)cin >> S[i];
rep(i,0,N)if(S[0][i] == '-')S[0][i] = 'o';
rep(i,0,N)if(S[i][0] == '-')S[i][0] = 'x';
/*
cout << endl;
rep(i,0,N)cout << S[i] << endl;
cout << endl;
*/
int cnt = 0;
vector< P > V;
rep(i,0,N)rep(j,i,N){
if(S[i][j] == '-'){
cnt++;
V.push_back(P(i,j));
}
}
int mini = INF;
rep(i,0,1 << cnt){
rep(j,0,cnt){
bool flag = i & (1 << j);
int x = V[j].second,y = V[j].first;
S[y][x] = "ox"[flag];
S[x][y] = "xo"[flag];
}
/*
cout << endl;
rep(j,0,N)cout << S[j] << endl;
cout << endl;
*/
vector< P > win(N);
rep(j,0,N)win[j].second = j;
//for(auto p:win)cout << p.first << " " << p.second << endl;
rep(j,0,N)rep(k,0,N){
if(S[j][k] == 'o')win[j].first ++;
}
sort(win.rbegin(), win.rend());
int rank = 1,num = win[0].first;
rep(j,0,N){
if(num != win[j].first){
num = win[j].first;
rank++;
}
if(win[j].second == 0)mini = min(mini, rank);
}
}
cout << mini << endl;
}
Bantako