Submission #4659371


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(362880,vector<int>(2,-1));
int va[2][3],vb[3][2];
vector<int> calc()
{
  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];
  }
  return {q,p};
}
vector<int> rec(int n=1,int a=0,int b=1)
{
  if(dp[a][0]>-1)return dp[a];
  vector<int> res={-1,-1};
  if(n==10)return calc();
  int idx=n&1;
  int cnt=0;
  rep(i,3)rep(j,3)
  {
    if(flag[i][j]==-1)
    {
      flag[i][j]=idx;
      auto t=rec(n+1,a+(cnt)*b,b*(10-n));
      if(t[idx]>res[idx])res=t;
      flag[i][j]=-1;
      cnt++;
    }
  }
  dp[a]=res;
  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 1669 Byte
Status AC
Exec Time 146 ms
Memory 20096 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 132 ms 20096 KB
sample-02.txt AC 126 ms 20096 KB
test-01.txt AC 133 ms 20096 KB
test-02.txt AC 146 ms 20096 KB
test-03.txt AC 122 ms 20096 KB
test-04.txt AC 123 ms 20096 KB
test-05.txt AC 120 ms 20096 KB
test-06.txt AC 121 ms 20096 KB
test-07.txt AC 140 ms 20096 KB
test-08.txt AC 128 ms 20096 KB
test-09.txt AC 129 ms 20096 KB
test-10.txt AC 129 ms 20096 KB
test-11.txt AC 124 ms 20096 KB
test-12.txt AC 126 ms 20096 KB
test-13.txt AC 120 ms 20096 KB
test-14.txt AC 121 ms 20096 KB
test-15.txt AC 120 ms 20096 KB
test-16.txt AC 121 ms 20096 KB
test-17.txt AC 132 ms 20096 KB
test-18.txt AC 123 ms 20096 KB
test-19.txt AC 121 ms 20096 KB
test-20.txt AC 123 ms 20096 KB