Submission #2173841


Source Code Expand

#include <bits/stdc++.h>
#define INF 1000000000;
using namespace std;

int b[2][3], c[3][2];
int field[3][3];
int score(){
  int res = 0;
  for(int i = 0; i < 2; i++){
    for(int j = 0; j < 3; j++){
      if(field[i][j] == field[i+1][j]) res += b[i][j];
      else res -= b[i][j];
    }
  }
  for(int i = 0; i < 3; i++){
    for(int j = 0; j < 2; j++){
      if(field[i][j] == field[i][j+1]) res += c[i][j];
      else res -= c[i][j];
    }
  }
  return res;
}

int dfs(int cur){
  if(cur == 9) return score();
  if(cur % 2 == 0){
    int res_max = -INF;
    for(int i = 0; i < 3; i++){
      for(int j = 0; j < 3; j++){
        if(field[i][j] == 0){
          field[i][j] = 1;
          res_max = max(res_max, dfs(cur+1));
          field[i][j] = 0;
        }
      }
    }
    return res_max;
  }else{
    int res_min = INF;
    for(int i = 0; i < 3; i++){
      for(int j = 0; j < 3; j++){
        if(field[i][j] == 0){
          field[i][j] = -1;
          res_min = min(res_min, dfs(cur+1));
          field[i][j] = 0;
        }
      }
    }
    return res_min;
  }
}

int main(){
  int sum = 0;
  for(int i = 0; i < 2; i++){
    for(int j = 0; j < 3; j++){
      cin >> b[i][j];
      sum += b[i][j];
    }
  }
  for(int i = 0; i < 3; i++){
    for(int j = 0; j < 2; j++){
      cin >> c[i][j];
      sum += c[i][j];
    }
  }
  int res = (sum - dfs(0)) / 2;
  cout << sum - res << endl;
  cout << res << endl;
  return 0;
}

Submission Info

Submission Time
Task C - 双子と○×ゲーム
User swkfn
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1504 Byte
Status AC
Exec Time 27 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 24
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All sample-01.txt, sample-02.txt, 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 27 ms 256 KB
sample-02.txt AC 27 ms 256 KB
test-01.txt AC 27 ms 256 KB
test-02.txt AC 27 ms 384 KB
test-03.txt AC 27 ms 256 KB
test-04.txt AC 27 ms 256 KB
test-05.txt AC 27 ms 256 KB
test-06.txt AC 27 ms 256 KB
test-07.txt AC 27 ms 256 KB
test-08.txt AC 27 ms 256 KB
test-09.txt AC 27 ms 256 KB
test-10.txt AC 27 ms 256 KB
test-11.txt AC 27 ms 256 KB
test-12.txt AC 27 ms 256 KB
test-13.txt AC 27 ms 256 KB
test-14.txt AC 27 ms 256 KB
test-15.txt AC 27 ms 256 KB
test-16.txt AC 27 ms 256 KB
test-17.txt AC 27 ms 256 KB
test-18.txt AC 27 ms 256 KB
test-19.txt AC 27 ms 256 KB
test-20.txt AC 27 ms 256 KB