Submission #4659090


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <algorithm>
#include <cctype>
#include <cmath>
#include <queue>
#include <map>
#include <numeric>
#include <unordered_map>
#include <iomanip>
#include <functional>
#include <bitset>
#include <complex>

#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define repi(i,a,b) for(int i=int(a);i<int(b);i++)
#define all(x) (x).begin(),(x).end()

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

typedef long long ll;

using namespace std;
int flag[3][3];
vector<vector<int>>dp(1<<10,vector<int>(2,-1));
int va[2][3],vb[3][2];
vector<int> calc()
{
  int a=0;
  rep(i,3)rep(j,3)a+=(1<<(i*3+j))*flag[i][j];
  if(dp[a][0]>-1)return dp[a];
  int p=0,q=0;
  rep(i,2)rep(j,3)
  {
    if(flag[i][j]==flag[i+1][j])p+=va[i][j];
    else q+=va[i][j];
  }
  rep(i,3)rep(j,2)
  {
    if(flag[i][j]==flag[i][j+1])p+=vb[i][j];
    else q+=vb[i][j];
  }
  dp[a]={q,p};
  return {q,p};
}
vector<int> rec(int n=1)
{
  vector<int> res={-1,-1};
  if(n==10)return calc();
  int idx=n&1;
  rep(i,3)rep(j,3)
  {
    if(flag[i][j]==-1)
    {
      flag[i][j]=idx;
      auto t=rec(n+1);
      if(t[idx]>res[idx])res=t;
      flag[i][j]=-1;
    }
  }
  return res;
}


int main()
{
  ios::sync_with_stdio(false);
  cin.tie(0);
  rep(i,3)rep(j,3)flag[i][j]=-1;
  rep(i,2)rep(j,3)cin>>va[i][j];
  rep(i,3)rep(j,2)cin>>vb[i][j];
  auto retv=rec();
  cout<<retv[1]<<endl;
  cout<<retv[0]<<endl;
  return 0;

}

Submission Info

Submission Time
Task C - 双子と○×ゲーム
User plin
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1666 Byte
Status AC
Exec Time 67 ms
Memory 256 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 67 ms 256 KB
sample-02.txt AC 67 ms 256 KB
test-01.txt AC 67 ms 256 KB
test-02.txt AC 66 ms 256 KB
test-03.txt AC 67 ms 256 KB
test-04.txt AC 66 ms 256 KB
test-05.txt AC 67 ms 256 KB
test-06.txt AC 67 ms 256 KB
test-07.txt AC 67 ms 256 KB
test-08.txt AC 67 ms 256 KB
test-09.txt AC 67 ms 256 KB
test-10.txt AC 67 ms 256 KB
test-11.txt AC 65 ms 256 KB
test-12.txt AC 67 ms 256 KB
test-13.txt AC 67 ms 256 KB
test-14.txt AC 67 ms 256 KB
test-15.txt AC 66 ms 256 KB
test-16.txt AC 67 ms 256 KB
test-17.txt AC 67 ms 256 KB
test-18.txt AC 67 ms 256 KB
test-19.txt AC 67 ms 256 KB
test-20.txt AC 67 ms 256 KB