2017.5.21测试 题三 侦察兵

该博客介绍了侦察兵mxy在一个n*n的矩形游戏地图上执行任务的问题。地图每个格子包含一个数字,代表生命体数量。mxy需要计算从当前位置左上角到右下角的总生命体数,但不包括她所在的行和列。博客给出了输入输出格式,并提供了输入输出样例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题三  侦察兵

scout.*

【问题描述】

    mxy 沉迷于一个辣鸡游戏不可自拔。

    游戏地图是一个 n*n 的矩形,在每个单位格子上有一个数字,代表当前位置的生命体

个数,作为一个侦察兵,mxy 的任务是计算出她所在位置的左上角和右下角的总人数(不

包括她所在的行列)。

    注意作为一个侦察兵,mxy 是不包括在地图上的生命体个数中的。

【输入】

    第一行 2 个整数 n t。(1n10001t1000

    接下来 n 行,每行 n 个整数表示每个单位格子上的生命体个数 a。(1a100

    再下来 t 行,每行两个整数 xiyi,表示不同时刻 mxy 在地图上的位置。

【输出】

   T 行,每行一个整数,表示当前时刻 mxy 所在位置的左上角和右下角的总人数。

【输入输出样例】

scout.in

4 1

0 1 2 0

3 2 0 0

1 2 3 2

0 0 0 10

3 3

scout.out

16

var
 f:array[0..1000,0..1000]of longint//f[i,j]表示从f[1,1]到f[i,j]的矩形的和(人数和)
 n,t,x,y,i,j: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(f[i,j]);
    f[i,j]:=f[i,j]+f[i-1,j]+f[i,j-1]-f[i-1,j-1];//重复了一个
   end;
 for i:=1 to t do
  begin
   readln(x,y);
   writeln(f[n,n]-f[x,n]-f[n,y]+f[x,y]+f[x-1,y-1]);//总人数-左上-右下+当前位置+(补充重复减去的)
  end;

 close(input); close(output);
end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值