两人方格取数
某蒟蒻看洛谷这么热闹,也来写本人第一篇博客
比较简单的动规题:
另外四维的动归也是比较少的
#include<bits/stdc++.h>
using namespace std;
int a[11][11];
int b[11][11][11][11];
int c1[5]={0,1,1,0,0};
int c2[5]={0,0,0,1,1};
int c3[5]={0,0,1,0,1};
int c4[5]={0,1,0,1,0};
main()
{
int n;
cin>>n;
int aa,bb,cc;
while(cin>>aa>>bb>>cc)
if(aa&&bb&&cc)
a[aa][bb]=cc;
else
break;
for(int i2=1;i2<=n;i2++)
for(int j2=1;j2<=n;j2++)
for(int i1=1;i1<=n;i1++)
for(int j1=1;j1<=n;j1++)
{
int mm=0;
for(int k=1;k<=4;k++)
mm=max(mm,b[i1-c1[k]][i2-c2[k]][j1-c3[k]][j2-c4[k]]);
b[i1][i2][j1][j2]=mm+a[i1][i2]+a[j1][j2];
if(i1==j1&&i2==j2)
b[i1][i2][j1][j2]-=a[i1][i2];
}
cout<<b[n][n][n][n];
}