Submission #432754
Source Code Expand
#include <iostream> #include <cstdio> #include <cassert> #include <cstring> #include <vector> #include <valarray> #include <array> #include <queue> #include <set> #include <unordered_set> #include <map> #include <unordered_map> #include <algorithm> #include <cmath> #include <complex> #include <random> using namespace std; typedef long long ll; typedef unsigned long long ull; struct B { int d[3][3]; }; int p1[3][3], p2[3][3]; int sm; int calc(B b) { int re = 0; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { if (b.d[i][j] == b.d[i+1][j]) { re += p1[i][j]; } } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { if (b.d[i][j] == b.d[i][j+1]) { re += p2[i][j]; } } } return re; } int dfs(B b, int c) { if (c == 9) { return sm-calc(b); } int res = -10000; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (b.d[i][j] != 0) continue; B bb = b; if (c % 2 == 0) { bb.d[i][j] = 1; } else { bb.d[i][j] = -1; } res = max(res, sm-dfs(bb, c+1)); } } return res; } int main() { for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { cin >> p1[i][j]; sm += p1[i][j]; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { cin >> p2[i][j]; sm += p2[i][j]; } } B b; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { b.d[i][j] = 0; } } int res = dfs(b, 0); cout << res << endl << sm-res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 双子と○×ゲーム |
User | yosupo |
Language | C++11 (GCC 4.9.2) |
Score | 100 |
Code Size | 1891 Byte |
Status | AC |
Exec Time | 86 ms |
Memory | 924 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt |
All | test-01.txt, test-02.txt, test-03.txt, test-04.txt, test-05.txt, test-06.txt, test-07.txt, test-08.txt, test-09.txt, test-10.txt, test-11.txt, test-12.txt, test-13.txt, test-14.txt, test-15.txt, test-16.txt, test-17.txt, test-18.txt, test-19.txt, test-20.txt, sample-01.txt, sample-02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample-01.txt | AC | 84 ms | 800 KB |
sample-02.txt | AC | 82 ms | 924 KB |
test-01.txt | AC | 82 ms | 804 KB |
test-02.txt | AC | 83 ms | 920 KB |
test-03.txt | AC | 82 ms | 808 KB |
test-04.txt | AC | 86 ms | 764 KB |
test-05.txt | AC | 83 ms | 800 KB |
test-06.txt | AC | 83 ms | 920 KB |
test-07.txt | AC | 82 ms | 800 KB |
test-08.txt | AC | 82 ms | 812 KB |
test-09.txt | AC | 84 ms | 796 KB |
test-10.txt | AC | 84 ms | 796 KB |
test-11.txt | AC | 85 ms | 800 KB |
test-12.txt | AC | 84 ms | 800 KB |
test-13.txt | AC | 82 ms | 804 KB |
test-14.txt | AC | 84 ms | 672 KB |
test-15.txt | AC | 84 ms | 808 KB |
test-16.txt | AC | 84 ms | 812 KB |
test-17.txt | AC | 83 ms | 804 KB |
test-18.txt | AC | 82 ms | 792 KB |
test-19.txt | AC | 81 ms | 796 KB |
test-20.txt | AC | 83 ms | 924 KB |