【NOIP2016复赛模拟赛2】侦察兵
来源:互联网 发布:lumia800下载软件 编辑:程序博客网 时间:2024/04/30 19:56
问题描述
有一n*n矩阵,给出一坐标,问此坐标左上角和右下角数字总和(不包括坐标点所在行和列)。
输入
第一行n,t(1<=n<=1000;1<=t<=1000)
接下来n行为矩阵
接下来t行为不同的坐标点
输出
t行,表示每个坐标点左上角和右下角的和。
样例输入
4 1
0 1 2 0
3 2 0 0
1 2 3 2
0 0 0 10
3 3
样例输出
16
算法讨论
本题要理解题意,左上角为不包括坐标点所在行列的左上角那一块矩形,而不是一个点,右下角亦是如此,要是一个个去加极限数据会超时,我们在输入时做预处理,a[i,j]表示前i行j列的和,于是我们在处理一个点的左上角时就只用把a[x-1,1]到a[x-1,y-1]加起来就好了;右下角则把最后一行加起来减去当前点所在的行。
const maxn=1005;var a,b,c:array[0..maxn,0..maxn] of longint; f,f1:array[0..maxn,0..maxn] of boolean; i,j,k,n,t,x,y,s:longint;begin assign(input,'scout.in'); reset(input); assign(output,'scout.out'); rewrite(output); read(n,t); for i:=1 to n do for j:=1 to n do begin read(a[i,j]); a[i,j]:=a[i,j]+a[i-1,j] end; for i:=1 to t do begin read(x,y); s:=0; for j:=1 to y-1 do inc(s,a[x-1,j]); for j:=y+1 to n do begin inc(s,a[n,j]); dec(s,a[x,j]) end; writeln(s) end; close(input); close(output)end.
Pixiv ID:60731627
阅读全文
0 0
- 【NOIP2016复赛模拟赛2】侦察兵
- 【NOIP2016复赛模拟赛2】遭遇战
- 【NOIP2016复赛模拟赛2】买装备
- 【NOIP2016复赛模拟赛】楼层
- 【NOIP2016复赛模拟赛】朋友
- 【NOIP2016复赛模拟赛】门票
- 全国信息学奥林匹克联赛(NOIP2016 )复赛模拟(一)
- 全国信息学奥林匹克联赛(NOIP2016 )复赛模拟(二)
- 全国信息学奥林匹克联赛(NOIP2016 )复赛模拟(三)
- 特长生模拟——侦察兵
- 5.16特长生模拟题 侦察兵
- NOIP2016模拟赛 day6
- noip2016模拟赛day7
- noip2016普及组复赛
- NOIP2016提高组复赛
- 侦察兵
- NOIP2016-普及组复赛-第2题-回文日期
- CCF全国信息学奥林匹克联赛(NOIP2016)复赛模拟提高组 day2 解题报告
- springMVC框架一之的登录功能的介绍
- Android控件RecyclerView的基本用法
- __declspec关键字详细用法
- Windows程序设计-文本输出
- 错误angular2 Error: If ngModel is used within a form tag...
- 【NOIP2016复赛模拟赛2】侦察兵
- 第一节,java网络编程学习的概念
- ASP报错总结
- Oracle dump索引组织表
- 英语阅读记录一
- 洛谷 P1189 SEARCH
- NSOJ D的小L
- PID调节经验
- [ZJOI2009]BZOJ1412 狼和羊的故事-最小割