結果
問題 | No.43 野球の試合 |
ユーザー |
|
提出日時 | 2019-12-12 01:39:13 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 8 ms / 5,000 ms |
コード長 | 1,355 bytes |
コンパイル時間 | 1,028 ms |
コンパイル使用メモリ | 98,844 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-24 08:14:57 |
合計ジャッジ時間 | 1,610 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 7 |
ソースコード
#define _USE_MATH_DEFINES#include <cmath>#include <cstdio>#include <vector>#include <iostream>#include <algorithm>#include <string>#include<math.h>#include<iomanip>#include<stdio.h>#include <stdlib.h>#include<stdio.h>#include <queue>#include<map>#include <sstream>#include<set>#include<stack>//#include<bits/stdc++.h>using namespace std;int main() {int n;cin >> n;vector<string>p(n);for (int i = 0; i < n; i++)cin >> p[i];vector<int> a(n);vector<pair<int, int>>d;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (p[i][j] == 'o')a[i]++;if (p[i][j] == '-') {if (i > j)continue;d.push_back(make_pair(i, j));}}}int ans = 10;for (int i = 0; i < 1 << d.size(); i++) {vector<string>t = p;vector<int>b(n);for (int j = 0; j < d.size(); j++) {int x = d[j].first;int y = d[j].second;// cout << (j&i)<<x << " " << y << endl;if (i&(1<<j)) {b[x]++;}else b[y]++;}for (int j = 0; j < n; j++) {b[j] += a[j];// cout << b[j] << endl;}int r = b[0];int w = 1;sort(b.rbegin(), b.rend());for (int j = 0; j < n; j++) {// cout << b[j];if (j) {if (b[j - 1] > b[j])w++;}if (b[j] == r)break;}// cout << r << endl;;ans = min(w, ans);}cout << ans << endl;return 0;}