【每日一题(21)】轰炸区最优选取 2017年哈尔滨理工大学新生赛低年级组
来源:互联网 发布:珠海软件怎么样 编辑:程序博客网 时间:2024/04/30 06:17
轰炸区最优选取 2017年哈尔滨理工大学新生赛低年级组 - D
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
现在给出一个正方形地图,其边长为n,地图上有的地方是空的,有的地方会有敌人。
我们现在有一次轰炸敌人的机会,轰炸敌人的区域是一个k*k的正方形区域,现在需要你解决的问题就是计算最多轰炸的敌人数量是多少。
输入描述
本题包含多组数据,每组数据第一行输入两个数n,k。
接下来n行,每行n个数字,表示这个点上的敌人数量。
数据范围:
1<=n<=50
1<=k<=n
每个点上的敌人数量不超过100个(0<=a[i][j]<=100)。
输出描述:
每组数据输出包含一行,表示计算的结果。
输入
4 2
1 1 0 0
1 1 0 0
0 0 2 2
0 0 2 2
输出
8
说明
样例中,显然轰炸右下角那个部分能够击败最多的敌人
题意
这显然是一道搜索题,不知道有没有更好的算法
题解
#include<iostream>#include<cstdio>using namespace std;int cnt(int x,int y);int a[55][55];int n,k;int main(){ while(cin>>n>>k){ for(int i = 0;i < n; i++) for(int j = 0;j < n; j++) cin >> a[i][j]; int max = -1; for(int i = k - 1;i < n; i++){ for(int j = k - 1;j < n; j++){ int x = cnt(i,j); max = max > x ? max : x; } } cout << max << endl; } return 0;}int cnt(int x,int y){ int cnt = 0; for(int i = x;i >= x- k + 1; i--) for(int j = y;j >= y - k + 1; j--) cnt += a[i][j]; return cnt;}
阅读全文
0 0
- 【每日一题(21)】轰炸区最优选取 2017年哈尔滨理工大学新生赛低年级组
- 【每日一题(20)】数圈圈 2017年哈尔滨理工大学新生赛低年级组
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)(题补)
- 哈尔滨理工大学新生赛
- 哈尔滨理工大学新生赛(题补)
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)【solved:10 / 10】
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)
- 哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)
- 哈尔滨理工大学新生赛(热身赛)
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B题幸运大奖
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B题幸运大奖
- 【哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)】A B C D E F H I
- 2017年浙江理工大学新生赛
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)- (A,B)
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B 幸运大奖
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G.幼儿园战争
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)D 数圈圈
- opencv imread函数一点心得
- Python元编程:控制你想控制的一切
- 2017年的Linux内核防护依然脆弱
- Boost.Asio入门
- windows删除或修改本地Git保存的账号密码
- 【每日一题(21)】轰炸区最优选取 2017年哈尔滨理工大学新生赛低年级组
- MongoDB学习笔记一
- D
- 【笔记】机架感知
- 命名空间
- LIS+路径输出 模板
- 最长共同子序列LCS—动态规划实现
- numpy中的True/False如何转化成1/0
- 关于链接的那些事