NOIP 2008 提高组 复赛 message 传字条

1.样例很快模拟成功,但感觉是凑出来的,没有章法。

2.深度优先遍历,但感觉容易超时。

3.动态规划?翻看他人代码,发现动态规划的写法,确实想不到,那怎么办,学呗。

4.以下两篇文章写得不错http://www.cnblogs.com/kiritoghy/p/4689791.html和http://www.cnblogs.com/sajuuk/p/4693249.html

5.//P1006 传纸条
//http://www.myexception.cn/program/1837942.html分析得相当精彩,而且详细具体。
//加入自己理解,尤其在点有交叉处,自认为编写得不错。
#include <stdio.h>
#include <string.h>
int a[55][55],f[55][55][55][55];
int max(int a,int b,int c,int d){
    if(a>=b&&a>=c&&a>=d)
        return a;
    if(b>=a&&b>=c&&b>=d)
        return b;
    if(c>=a&&c>=b&&c>=d)
        return c;
    if(d>=a&&d>=b&&d>=c)
        return d;
}
int main(){
    int i,j,k,l,m,n;
    memset(a,0,sizeof(a));
    memset(f,0,sizeof(f));
    scanf("%d%d",&m,&n);
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
            scanf("%d",&a[i][j]);
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
            for(k=1;k<=m;k++)
                for(l=1;l<=n;l++){//最后一个点
                    if(i==k&&j==l&&i==m&&j==n)
                        f[i][j][k][l]=max(f[i-1][j][k-1][l],f[i-1][j][k][l-1],f[i][j-1][k-1][l],f[i][j-1][k][l-1])+a[i][j];
                    else if(i==k&&j==l)//点重复,跳过
                        continue;
                    else
                        f[i][j][k][l]=max(f[i-1][j][k-1][l],f[i-1][j][k][l-1],f[i][j-1][k-1][l],f[i][j-1][k][l-1])+a[i][j]+a[k][l];
                }
    printf("%d\n",f[m][n][m][n]);
    return 0;
}

NOIP 2008 提高组 复赛 message 传字条相关推荐

  1. NOIP 2018提高组复赛C/C++试题及答案详解

    NOIP 2018提高组历年真题 CCF NOIP2018 初赛提高组 C++语言试题 第 1 页,共9 页 第二十四届全国青少年信息学奥林匹克联赛初赛 提高组 C++语言试题 竞赛时间:2018 年 ...

  2. NOIP 提高组 复赛 历年 试题

    NOIP 提高组  复赛  历年 试题 NOIP 2017 提高组 复赛  试题 https://wenku.baidu.com/view/70de9e29854769eae009581b6bd97f ...

  3. 凡人升天传7——NOIP2010 提高组复赛题解

    本蒟蒻在考试时最后一道直接报零*__*,悲痛欲绝,因此在这里著下本题解. 可恶的西西弗 虽然题目做的很垃圾,但在写题解中途不得不感叹除了最后一道,其他真是好水题呀!!! --------------- ...

  4. NOIP2013 提高组复赛解题报告

    NOIP2013 提高组复赛 day1 day\;1 1002. 火柴排队 贪心+数据结构/归并排序 这个"相邻交换"让我联想到了NOIP2012_day1_task2_game那 ...

  5. NOIP 2015 提高组 初赛

    NOIP 2015 提高组 初赛 疑难点 学习 感悟. 一. 3. 示例如下(来自自个的理解): 101.101 十进制 转十进制1*10^2+0*10^1+1*10^0+1*10^-1+0*10^- ...

  6. NOIP 2012 普及组 复赛 culture 文化之旅

    NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...

  7. NOIP2010 提高组 复赛 translate 机器翻译

    NOIP2010 提高组 复赛 translate 机器翻译 1.读题,很快弄明题意,单词不在内存中就查字典,统计查字典次数. 2.内存采用队列方式.统计进队列次数,即为查询次数. 3.程序很快编好, ...

  8. [NOIP 2013提高组]转圈游戏 题解

    这题在洛谷上是道黄题,即[普及/提高-] 所以虽然是提高组的,但是其实挺简单的. 我们来看下题面: [NOIP 2013]转圈游戏 刚看到题面作为一个蒟蒻感觉它都不配做黄题,但是直到我看清楚了后发现它 ...

  9. NOIP 2013 提高组 货车运输

    描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多 ...

最新文章

  1. 用指针查找数组中温度值为32的天数
  2. swift_012(Swift 的字面量)
  3. 哪里有计算机一级的题库,计算机一级题库带答案哪有?
  4. mysql中distinct关键字,MySQL关键字Distinct的详细介绍
  5. Python 爬虫 —— 使用 pandas
  6. angular 点菜_JavaScript实现的select点菜功能示例
  7. 利用算法识别车厘子与樱桃
  8. JDK指定D盘安装及环境变量配置
  9. websocket 如何知道对方断开_在爱情里你知道该如何和对方相处吗?
  10. 图解设计模式:空对象模式
  11. spurious retransmission timeouts理解
  12. 计算机的桌面偏上怎么调整,电脑桌面软件太靠边怎么办
  13. TensorFlow实现mnist书写数字分类,出现please use urllib or similar directly错误。
  14. Apache Structured Streaming_JZZ158_MBY
  15. 网络安全学习第15篇 - 游戏内存修改
  16. 自定义实现乘风破浪的小船
  17. oracle,通过plsql创建用户表空间和所属用户示例
  18. “RTOS:实时应用的操作系统”
  19. c# 利用AForge.NET组件操作摄像头
  20. unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利

热门文章

  1. FreeSql执行存储过程的使用方式
  2. C++ ——赋值运算符重载函数
  3. PCB学习笔记——Altium designer如何设计PCB 板边框
  4. 道本科技获民族日化领军企业青睐||与广州立白企业集团有限公司携手打造合同管理系统建设项目
  5. Mark_Something
  6. Linux命令查找文件夹下包含某个字符串的所有文件
  7. h5+css3+js实现七夕言情
  8. 【软考 系统架构设计师】系统安全分析与设计④ 安全保护等级
  9. 启明星辰拟6.37亿收购赛博兴安
  10. 【AGC】iOS的applink的回调没反应问题分析