题目链接喵喵喵:https://www.luogu.org/problemnew/show/P1006
那个那个,居然A了绿题,蛮好的
那个这题吧确实跟方格取数比较像,以至于我直接交了一遍方格取数的代码,and因为输入数据不尽相同而WA??
emmmmm好吧我承认这样很傻
那没有关系的呀,既然两题难度差不多,能A一道,就能A第二道
那么这题跟方格取数的区别就在于这题的每条路径只能通过一次
贴上代码:
1 #include<set> 2 #include<map> 3 #include<list> 4 #include<queue> 5 #include<stack> 6 #include<string> 7 #include<cmath> 8 #include<ctime> 9 #include<vector> 10 #include<bitset> 11 #include<memory> 12 #include<utility> 13 #include<cstdio> 14 #include<sstream> 15 #include<iostream> 16 #include<cstdlib> 17 #include<cstring> 18 #include<algorithm> 19 using namespace std; 20 21 int n,m; 22 int a[55][55],f[55][55][55][55]; 23 24 int ma(int a,int b){return a>b?a:b;} 25 26 int main(){ 27 scanf("%d%d",&n,&m); 28 for(int i=1;i<=n;i++){ 29 for(int j=1;j<=m;j++){ 30 scanf("%d",&a[i][j]); 31 } 32 } 33 for(int i=1;i<=n;i++){ 34 for(int j=1;j<=m;j++){ 35 for(int k=1;k<=n;k++){ 36 for(int l=1;l<=m;l++){ 37 f[i][j][k][l]=ma(f[i-1][j][k-1][l],ma(f[i][j-1][k-1][l],ma(f[i-1][j][k][l-1],f[i][j-1][k][l-1])))+a[i][j]+a[k][l]; 38 if(i==k&&j==l){ 39 f[i][j][k][l]-=a[i][j]; 40 } 41 } 42 } 43 } 44 } 45 printf("%d ",f[n][m][n][m]); 46 return 0; 47 }
当然你完全可以把这个代码跟我的方格取数对比一下,你就会发现:
这是真tm像!!!
好的就酱紫,白白
等下我说一句话。。
新人开博鼓励一下吧。。
好的白白。。