当前位置: 首页 > news >正文

P1123 取数游戏

题目描述
一个 N×M 的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻 8 个格子中的一个即认为这两个数字相邻),求取出数字和最大是多少。

输入格式
第一行有一个正整数 T,表示了有 T 组数据。

对于每一组数据,第一行有两个正整数 N 和 M,表示了数字矩阵为 N 行 M 列。

接下来 N 行,每行 M 个非负整数,描述了这个数字矩阵。

输出格式
共 T 行,每行一个非负整数,输出所求得的答案。

#include <iostream>
using namespace std;

int T, n, m, a[2000][2000];

int ans;

int u[2000][20000];

void dfs(int x, int y, int z)     
{
    if (x > n)         
    {
        ans = max(ans, z);
        return ;
    }
    int next_x = x, next_y = y + 1;   
    if (next_y > m)          
    {
        next_y = 1;          
        next_x = x + 1;
    }
    if (!u[x - 1][y - 1] && !u[x - 1][y] && !u[x - 1][y + 1] && !u[x][y - 1] && !u[x][y + 1] && !u[x + 1][y - 1] && !u[x + 1][y] && !u[x + 1][y + 1])
    {                        
        u[x][y] = 1;         
        dfs(next_x, next_y, z + a[x][y]);  
        u[x][y] = 0;
    }
    dfs(next_x, next_y, z);   
}

int main()
{
    //std::ios::sync_with_stdio(false);   
    cin >> T;
    for (int sth = 1; sth <= T; ++sth)
    {
        ans = 0;                      
        cin >> n >> m;
        for (int i = 1; i <= n; ++i)   
            for (int j = 1; j <= m; ++j)
                cin >> a[i][j];
        dfs(1, 0, 0);                  
        cout << ans << endl;
    }
    return 0;
}

相关文章:

  • 实战案例:排查 Java 应用 CPU 飙高问题
  • 自由学习记录(40)
  • HFSS 仿真学习1 K波段定向耦合器
  • JAVA面试_进阶部分_netty面试题
  • 【Java】多线程篇 —— 多线程的基本使用
  • 58、深度学习-自学之路-自己搭建深度学习框架-19、RNN神经网络梯度消失和爆炸的原因(从公式推导方向来说明),通过RNN的前向传播和反向传播公式来理解。
  • 商城源码的框架
  • JAVA学习笔记038——bean的概念和常见注解标注
  • 计算机毕业设计SpringBoot+Vue.js体育馆使用预约平台(源码+文档+PPT+讲解)
  • Pytest之fixture的常见用法
  • AI人工智能机器学习之监督线性模型
  • 【广度优先搜索】图像渲染 岛屿数量
  • 7-1JVMCG垃圾回收
  • 【文献阅读】A Survey Of Resource-Efficient LLM And Multimodal Foundation Models
  • 如何保证 Redis 缓存和数据库的一致性?
  • 在编译Linux的内核镜像和模块时,必须先编译内核镜像,再编译模块,顺序不可随意调整的原因
  • 备战蓝桥杯Day11 DFS
  • React 常见面试题及答案
  • Mysql系统表
  • 【考试大纲】中级信息安全工程师考试大纲
  • iis 网站模板下载/网站关键词优化
  • 做网站兼容ie/成人教育培训机构十大排名
  • 手机端网站怎么做seo/搜索引擎优化seo
  • 现在lol谁做教学视频网站/谷歌浏览器最新版本
  • 网络公司网站报价/aso优化排名推广
  • 苹果网站模板/刚开的店铺怎么做推广