• P1006 传纸条


    题目链接喵喵喵: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像!!!

    好的就酱紫,白白

     等下我说一句话。。

    新人开博鼓励一下吧。。

    好的白白。。

     

  • 相关阅读:
    HTML/CSS基础教程 一
    linux鼠标闪烁问题解决
    Linux运行级别(runlevel)
    linux命令——umask
    linux命令——ulimit
    算法学习(二)——二分查找
    c++(一) :从c到c++
    shell编程(二)输入,输出和算术拓展
    shell编程(一)基础
    第二次Soring冲刺计划第一天(团队)
  • 原文地址:https://www.cnblogs.com/hahaha2124652975/p/11123214.html
Copyright © 2020-2023  润新知