/*
首先看见这题想到的就是DFS但是求的是最短路径因此可以利用BFS,但是BFS学的太渣了,还是用动态规划来试试!
dp[i][j]表示走到第i行j列时候的路径
dp[i][j]=min(dp[i-1][j],dp[i][j-1])+a[i][j];但是这样写的缺陷是不能找出最小正整数的路径

#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;

int main()
{
    int a[100][100],m,n;
    while(~scanf("%d%d",&m,&n))
    {
        for(int i=1;i<=m;++i)
            for(int j=1;j<=n;++j)
            scanf("%d",&a[i][j]);
        int dp[100][100]={0};
        for(int i=1;i<=m;++i)
        {
            for(int j=1;j<=n;++j)
            {
                if(i==1&&j==1)
                {
                    dp[i][j]=a[i][j];
                    continue;
                }
                if(i>1&&j>1)
                dp[i][j]=min(dp[i-1][j],dp[i][j-1])+a[i][j];
                else if(i>1&&j==1)
                    dp[i][j]=dp[i-1][j]+a[i][j];
                else if(j>1&&i==1)
                    dp[i][j]=dp[i][j-1]+a[i][j];
            }
        }
        printf("%d\n",dp[m][n]>0?dp[m][n]:-1);

}
    return 0;

}*/

深搜(看了网上的)

#include <iostream>  
#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
  
using namespace std;  
  
const int N = 15;  
int inf = 12345678;  
int a[N][N], i, j, m, n;  
  
void find(int x, int y,int sum)  
{  
    sum = sum + a[x][y];  
    if( x < m-1 ) find(x+1,y,sum);  
    if( y < n-1 ) find(x,y+1,sum);  
    if( x==m-1&&y==n-1&&sum>0&&sum<inf ) inf = sum;  
}  
  
int main()  
{  
    scanf("%d%d",&m,&n);  
    for( i = 0;i < m;i++ )  
    {  
        for( j = 0;j < n;j++ )  
        {  
            scanf("%d",&a[i][j]);  
        }  
    }  
    find(0,0,0);  
    if( inf==12345678 )inf = 0;  
    printf("%d\n",inf);  
  
    return 0;  
}

sdut 取数字问题(深搜,动态规划)相关推荐

  1. 蓝桥杯 历届试题 地库取宝(深搜 dfs)----------C语言—菜鸟级

    /*问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. ...

  2. 方格取数(多线程dp,深搜)

    https://www.luogu.org/problem/P1004 题目描述 设有N×N的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某 ...

  3. 【动态规划】【递归】取数字问题 (ssl 1644)

    取数字问题取数字问题取数字问题 Description 给定M*N的矩阵,其中的每个元素都是-10到10之间的整数.你的任务是从左上角(1,1)走到右下角(M,N),每一步只能向右或向下,并且不能走出 ...

  4. NOI 4.5 动态规划 4979:海贼王之伟大航路(深搜剪枝)

    题目来源:http://noi.openjudge.cn/ch0405/4979/ 4979:海贼王之伟大航路 总时间限制: 1000ms 内存限制: 65536kB 描述 "我是要成为海贼 ...

  5. 深入递归、深搜dfs、回溯、剪纸学习。

    深入递归,深搜dfs,回溯,剪枝 参考于博客 一.双管齐下解递归 "逐步生成结果"类问题之数值型 自下而上的递归(递推,数学归纳,动态规划) 解决简单情况下的问题. 推广到稍复杂情 ...

  6. 【2018.3.10】模拟赛之一-ssl2574Closest【深搜】

    目录地址 前言 感谢黎某儿(划掉)教我这道题☆⌒(*^-゜)v. 正题 给出两个n位数A,B.我们需要找到两个最近的靠近A的n位数(第一个比A大或与A相等,第二个严格比A小),使得它们的十进制表示是B ...

  7. 题解HDU6148 Valley Numer(数位DP+深搜DFS)

    题解HDU6148 Valley Numer[数位DP+深搜DFS] 题目 解析 参考源码 题目 Description: 众所周知,度度熊非常喜欢数字. 它最近发明了一种新的数字:Valley Nu ...

  8. 搜索与图论1—深搜、宽搜、拓扑排序

    本人的LeetCode账号:魔术师的徒弟,欢迎关注获取每日一题题解,快来一起刷题呀~ 本人Gitee账号:路由器,欢迎关注获取博客内容源码. 文章目录 一.深度优先搜索 1 排列数字 2 N皇后 二. ...

  9. 有趣的题目:简单深搜之数独与靶型数独--二进制状压加速与dfs数独剪枝

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K 题目链接http://poj.org/problem?id=2676 Description Sudo ...

最新文章

  1. webpack 打包vue,组件不显示
  2. everytime you write on a whiteboard
  3. 2018最新版 手机号、验证码正则表达式 jq + 小程序
  4. appium+java(五)微信小程序自动化测试实践
  5. excel自动保存_萌新必看!python处理excel实例
  6. multiprocess模块使用进程池调用apply_async()提交的函数及回调函数不执行问题
  7. loj10147. 「一本通 5.1 例 1」石子合并
  8. Failed to decrypt protected XML node DTS:Property with error 0x8009000B 错误的解决
  9. JDBC 学习笔记(三)—— 数据源(数据库连接池):DBCP数据源、C3P0 数据源以及自定义数据源技术...
  10. MySQLsqlyog更新版
  11. 拼多多搜索API接口(关键词查询优惠券列表接口)
  12. 计算机毕业设计ssm网上花店系统0716c系统+程序+源码+lw+远程部署
  13. 工信部发布2015年中国软件业务收入百强发展报告(zz)
  14. 为什么买入不了创业版_两点原因,为什么现在不建议你买创业板
  15. WiFi知识点大总结
  16. 交通流量预测数据集解读
  17. linux++查找隐藏文件,使用find命令查找Linux中的隐藏文件的方法
  18. 零基础转行大数据可行吗?大数据开发需要什么基础呢?
  19. 适应不同版本的bdb的代码
  20. Python数据分析_电商数据分析报告

热门文章

  1. java 1.8stream_java jdk1.8 使用stream流进行list 分组归类操作
  2. mysql 字段排重_MySQL 根据单个、多个字段排重
  3. Android studio如何写滚动视图
  4. 语言ppt课件猜拳_八年级语文上册第22课 孟子三章讲解及课件下载
  5. 合并 多个dataframe_什么是Pandas的DataFrame?
  6. post请求改成body_post请求body格式
  7. qemu搭建arm运行linux内核,centos使用qemu搭建ARM64运行环境
  8. ssd内部是多个flash一起操作_一键自毁军工级SSD固态硬盘的技术亮点
  9. mysql修改级联表数据_MySQL数据库 外键,级联, 修改表的操作
  10. jnativecpp.dll一定要放到系统目录下吗_电脑硬盘有必要分区吗,分几个区最好?...