zoukankan      html  css  js  c++  java
  • 侦察兵

    【问题描述】

        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
    n,t,i,j,x,y:longint;
    a:array[0..1001,0..1001]of longint;
    begin
        readln(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]+a[i,j-1]-a[i-1,j-1];
        end;
        for i:=1 to t do
        begin
            readln(x,y);
            writeln(a[x-1,y-1]+a[n,n]-a[x,n]-a[n,y]+a[x,y]);
        end;
    end.


    另一种80分程序:

    var
    n,t,i,j,x,y:longint;
    tj:int64;
    a:array[0..1000,0..1000]of int64;
    procedure js;
    var
    i:longint;
    begin
        for i:=1 to x-1 do
        for j:=1 to y-1 do
        tj:=tj+a[i,j];
        for i:=x+1 to n do
        for j:=y+1 to n do
        tj:=tj+a[i,j];
    end;
    begin
        fillchar(a,sizeof(a),0);
        readln(n,t);
        for i:=1 to n do
        begin
            for j:=1 to n do
            read(a[i,j]);
            readln;
        end;
        for i:=1 to t do
        begin
            readln(x,y);
            tj:=0;
            js;
            writeln(tj);
        end;
    end.


  • 相关阅读:
    Making your first driver
    注册表与盘符(转victor888文章 )
    电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
    可拖动的DIV
    IE Javascript 进阶调试
    优化性能
    命令模式
    MVC 4 结合jquery.uploadify 上传实例
    IIS处理并发请求时出现的问题及解决
    Spring3.2 + Hibernate4.2
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500110.html
Copyright © 2011-2022 走看看