链接
来源:牛客网

题目描述

罗德岛训练室今天的使用人是干员w,她的任务是使用手上的三个遥控炸弹,尽可能摧毁最大价值的目标。

测试区域是一个nn的矩阵,w可以选择任意格子安放炸弹,如果选择了位置[i][j]安放炸弹,那么对于所有的[i][k]满足|k-j|<=2和所有[l][j]满足|l-i|<=2的点,都会被这个炸弹所摧毁。也就是说炸弹安放位置以及其上下左右各向外延伸2个单位长度的格子都会被其摧毁,重复被摧毁的格子只计算一次该格子的价值。
(如下图所示,如果在该5
5矩阵的中心位置安放炸弹,除了安放的位置外,四个方向上8个画X的位置也会被摧毁)

睿智的勃士总是能帮助w快速计算出可以摧毁的最大价值。

输入描述:

第一行为一个整数n,代表矩阵的宽度。(1<=n<=10)
接下来第1+i行(1<=i<=n),每行为空格隔开的n个整数a[i][j]。代表矩阵位置[i][j]的价值是多少。(0<=a[i][j]<=1e9)

输出描述:

输出一个整数,代表能摧毁的最大价值。

示例1

输入

5
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2

输出

34

说明

有多种安放选择均可摧毁价值34,其中一种方案是炸弹放置在(3,1),(3,3),(3,5)

示例2

输入

8
10 15 3 3 12 16 7 2
1 6 19 19 1 12 19 14
7 0 6 3 15 1 16 2
13 7 12 5 2 9 2 5
13 0 14 6 19 10 9 1
0 13 1 1 14 15 7 7
1 12 3 16 12 14 12 9
11 15 16 14 1 12 1 8

输出

280

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
//这个数组需要主要加上原点
int dir[9][2]={{-1,0},{1,0},{0,-1},{0,1},{-2,0},{2,0},{0,-2},{0,2},{0,0}};
int vis[15][15];
ll a[15][15];
int n;
ll ans=0,res=0;
void start(int x,int y){for(int i=0;i<9;i++){int nx=x+dir[i][0];int ny=y+dir[i][1];if(nx<1||nx>n||ny<1||ny>n) continue;if(vis[nx][ny]==0) ans+=a[nx][ny];vis[nx][ny]++;}
}
void back(int x,int y){for(int i=0;i<9;i++){int nx=x+dir[i][0];int ny=y+dir[i][1];if(nx<1||nx>n||ny<1||ny>n) continue;vis[nx][ny]--;if(vis[nx][ny]==0) ans-=a[nx][ny];}
}
void dfs(int k){if(k==3){res=max(ans,res);return;}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){start(i,j);//爆炸当前位置dfs(k+1);back(i,j);//回到爆炸前的状态}}
}
int main()
{cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];}}memset(vis,0,sizeof(vis));dfs(0);cout<<res<<endl;return 0;
}
/*
5
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2
*/

总结:

比赛的时候思想出问题了,往动态规划的方向想了。
最后才发现,这根本就是个暴力题嘛。
每次选点就暴力一次就完事了,可以把所有的点都算上,毕竟数据小,不用考虑重复的情况

浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛) K.来自良心出题人wzc的简单题相关推荐

  1. 来自wzc的简单拓扑dp———浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛)

    传送门 题目描述 (良心出题人wzc说这是个简单拓扑dp,它就必然是一个简单拓扑dp,wzc是不会骗人的) wzc在一张拓扑图上,他所在的起始位置被标记为0.除了起始位置外,还有被1到n这n个整数所标 ...

  2. 浙江农林大学第二十二届程序设计竞赛部分题解

    浙江农林大学第二十二届程序设计竞赛 目录 瓜瓜打游戏(EASY) 题目思路 题目代码 瓜瓜喜欢做 A + B 题目思路 题目代码 瓜瓜不想上电工课 题目思路 题目代码 瓜瓜的 01 串 题目思路 题目 ...

  3. 浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛-D 涛涛和策策的游戏(尼姆博弈)

    浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛-D 涛涛和策策的游戏 链接:https://ac.nowcoder.com/acm/contest/7872/D 来源:牛客网 题目描述 涛涛和策策打码 ...

  4. 浙江农林大学第二十一届程序设计竞赛校选拔赛A E G H

    A 瓜瓜的春天 传送门 题意:电梯前有两列队伍,电梯一次可以坐两人,其中 有 25% 的可能,电梯是满的,没有办法乘坐电梯: 有 25% 的可能,电梯是空的,则两队队首都可以乘坐电梯: 有 50% 的 ...

  5. 浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛 涛涛和策策的游戏 (尼姆博弈)

    链接:https://ac.nowcoder.com/acm/contest/7872/D 来源:牛客网 题目描述 涛涛和策策打码累了的时候会聚在一起van游戏. 某一天他们又凑在一起玩游戏了,因为最 ...

  6. 浙江农林大学第二十一届程序设计竞赛校选拔赛(同步)

    瓜瓜的A+B #include <iostream> using namespace std;typedef long long ll;ll qmi(ll a, ll b, ll p) { ...

  7. 2018 ACM-ICPC 中国大学生程序设计竞赛暨丝绸之路程序设计竞赛

    三道大水题,其它题都不会做,真是尴尬和无奈啊-- 有想法,但是解决不了,感觉个人不会一些基本解法,终究还是个人学习的内容太少了 B. Goldbach /* 数值较小,<2^63,分解的两个素数 ...

  8. 中国科大计算机学院何奇兵,中国科大第二十届辩论赛圆满落幕

    12月5日晚,中国科学技术大学第二十届校园辩论赛决赛在西区学生活动中心学术报告厅举行.校团委书记朱东杰.副书记芮锋现场观看了比赛,并为获奖队员和队伍颁奖. 决赛在计算机学院一队和数理联队一队之间进行, ...

  9. 第二十届宁波大学程序设计竞赛(同步赛)

    A-0-1翻转_第二十届宁波大学程序设计竞赛(同步赛) (nowcoder.com) 思路: 我们观察发现,奇数位与偶数位的1每次操作一定时同时增加或者减少的,我们无法做到同时删除奇数位的两个1..不 ...

最新文章

  1. ssm 框架配置详解
  2. MySQL之查询性能优化(四)
  3. CV_64F,CV_64FC1以及CV_64FC2
  4. 如果不懂Service mesh,就不要谈微服务了
  5. 如何用Pygame写游戏(五)
  6. 局部加权线性回归(Locally weighted linear regression)
  7. 【转】js获取浏览器信息和客户端硬件信息
  8. ionic2/ionic3 实现搜索结果中的搜索关键字高亮
  9. LCD1602和12864显示器
  10. 内网穿透什么意思?内网穿透基础知识原理内网穿透服务器搭建可以干嘛服务器端口映射无需公网IP教程方法
  11. 换行、回车、空格等常用的ASCII码值
  12. FTP(匿名登录)未授权访问漏洞复现(vsftpd2.3.4)
  13. 运用SMART法制定恰当的目标
  14. 登记车架号/VIN码用车架号识别
  15. Flutter ListView ListView.build ListView.separated
  16. 逻辑回归(Logistic Regression)原理及Python实现
  17. 贝尔机:带你领略编码的魅力
  18. 所见即所得编辑器_Froala所见即所得编辑器
  19. pip 安装与卸载软件包
  20. 新手小白学JAVA 泛型 Collection List Set

热门文章

  1. 支持多光谱数据源!LiMapper 无人机影像处理软件2.1发布
  2. pyodbc操作Access2013
  3. java jdk 7_jdk1.7 64位-jdk7 64位下载7u80 官方正式版(Java SE Development Kit 7)-西西软件下载...
  4. omnet java_omnet++4.0安装使用
  5. 视音频编解码基本术语及解释
  6. 解决NPM下载速度贼慢的方法
  7. java文件 流学习笔记
  8. 蛇形/回形矩阵(超详细!看了不会你来打我)
  9. 标准对比-UHAST
  10. 基于DEM提取河谷网络、流域范围和坡长