Submission #4635281
Source Code Expand
#include <iostream> #include <climits> #include <algorithm> #include <vector> #include <tuple> using namespace std; typedef long long ll; int b[2][3],c[3][2]; int table[3][3]; tuple<int,int> calc(){ int sum1=0,sum2=0; for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ if((table[j][i]==1 && table[j+1][i]==1) || (table[j][i]==2 && table[j+1][i]==2)){ sum1+=b[j][i]; }else{ sum2+=b[j][i]; } } } for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ if((table[i][j]==1 && table[i][j+1]==1) || (table[i][j]==2 && table[i][j+1]==2)){ sum1+=c[i][j]; }else{ sum2+=c[i][j]; } } } return forward_as_tuple(sum1,sum2); } tuple<int,int> dfs(int turn){ int res=INT_MIN,x,y,re1,re2,choku,naoko; if(turn==10){ tie(choku,naoko)=calc(); return forward_as_tuple(choku,naoko); } if(turn%2==1){//ちょくだい(1) for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ if(table[i][j]!=0) continue; table[i][j]=1; tie(x,y)=dfs(turn+1); if(x-y>res){ res=x-y; re1=x; re2=y; } table[i][j]=0; } } } if(turn%2==0){//なおこ(2) for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ if(table[i][j]!=0) continue; table[i][j]=2; tie(x,y)=dfs(turn+1); if(y-x>res){ res=y-x; re1=x; re2=y; } table[i][j]=0; } } } return forward_as_tuple(re1,re2); } int main(){ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ table[i][j]=0; } } for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ cin>>b[i][j]; } } for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ cin>>c[i][j]; } } int ans1,ans2; tie(ans1,ans2)=dfs(1); cout<<ans1<<endl<<ans2<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 双子と○×ゲーム |
User | rainy2041 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1754 Byte |
Status | AC |
Exec Time | 33 ms |
Memory | 256 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 | 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 | 32 ms | 256 KB |
sample-02.txt | AC | 33 ms | 256 KB |
test-01.txt | AC | 33 ms | 256 KB |
test-02.txt | AC | 32 ms | 256 KB |
test-03.txt | AC | 32 ms | 256 KB |
test-04.txt | AC | 32 ms | 256 KB |
test-05.txt | AC | 33 ms | 256 KB |
test-06.txt | AC | 32 ms | 256 KB |
test-07.txt | AC | 33 ms | 256 KB |
test-08.txt | AC | 32 ms | 256 KB |
test-09.txt | AC | 32 ms | 256 KB |
test-10.txt | AC | 33 ms | 256 KB |
test-11.txt | AC | 32 ms | 256 KB |
test-12.txt | AC | 32 ms | 256 KB |
test-13.txt | AC | 32 ms | 256 KB |
test-14.txt | AC | 33 ms | 256 KB |
test-15.txt | AC | 32 ms | 256 KB |
test-16.txt | AC | 33 ms | 256 KB |
test-17.txt | AC | 32 ms | 256 KB |
test-18.txt | AC | 32 ms | 256 KB |
test-19.txt | AC | 32 ms | 256 KB |
test-20.txt | AC | 33 ms | 256 KB |