Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;int dp[55][55][55][5][5][5];int solve(){memset(dp,inf,sizeof(dp));dp[1][0][0][0][0][3]=1;dp[0][1][0][1][0][3]=1;dp[0][0][1][2][0][3]=1;for(int i=0;i<=50;i++){for(int j=0;j<=50;j++){for(int k=0;k<=50;k++){for(int li=0;li<3;li++){for(int lj=0;lj<3;lj++){for(int lk=1;lk<=3;lk++){if(dp[i][j][k][li][lj][lk]!=inf)//i¸öA,j¸öB,k¸öC,liΪ³¤µÄÄÇÒ»ÁеÄ×îÉÏÃæµÄÀàÐÍ,ljΪ¶ÌµÄ,lkΪ³¤µÄÓë¶ÌµÄÏà¾à¶àÉÙ,{for(int ad=0;ad<3;ad++){int fi=i,fj=j,fk=k;if(ad==0)fi++;if(ad==1)fj++;if(ad==2)fk++;int flk=lk+max(li,ad)+2;