/ SB域 /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 3910ms 25.68 MiB

代码

# include <bits/stdc++.h>
# define int long long 
using namespace std;
const int MAXN=5005;
int a[MAXN][MAXN],n,m;
inline int read()
{
    int X=0,w=0;char c=0;
    while (!(c>='0'&&c<='9')) w|=c=='-',c=getchar();
    while ((c>='0'&&c<='9')) X=(X<<1)+(X<<3)+(c^48),c=getchar();
    return w?-X:X;
}
inline void write(int x)
{
    if (x<0) { putchar('-'); x=-x;}
    if (x>9) write(x/10);
    putchar('0'+x%10);
}
inline void writeln(int x){write(x);putchar('\n');}
inline void work1()
{
    int ans=0;
    int x1,y1,x2,y2;
    x1=read(),y1=read(),x2=read(),y2=read();
    for (int i=x1;i<=x2;i++)
     for (int j=y1;j<=y2;j++)
      ans+=a[i][j];
    writeln(ans);
}
inline void work2()
{
    int x1,y1,x2,y2,d;
    x1=read(),y1=read(),x2=read(),y2=read(),d=read();
    for (int i=x1;i<=x2;i++)
     for (int j=y1;j<=y2;j++)
      a[i][j]+=d;
}
inline void work3()
{
    int x1,y1,x2,y2,d;
    x1=read(),y1=read(),x2=read(),y2=read(),d=read();
    for (int i=x1;i<=x2;i++)
     for (int j=y1;j<=y2;j++)
      a[i][j]-=d;
}
inline void work4()
{
    int x,y;
    x=read();y=read();
    writeln(a[x][y]);
}
signed main()
{
    n=read();m=read();
    for (int i=1;i<=n;i++)
     for (int j=1;j<=m;j++)
      a[i][j]=read();
    char opt;  
    while (true) {
        cin>>opt;
        switch (opt) {
            case 'Q':work1();break;
            case 'A':work2();break;
            case 'D':work3();break;
            case 'F':work4();break;
            case 'E':goto exit;break;
        }
    }  
    exit:;
    return 0;
}

信息

递交者
类型
递交
题目
U50446 二维数列
题目数据
下载
语言
C++
递交时间
2018-11-04 21:21:00
评测时间
2018-11-04 21:21:00
评测机
分数
100
总耗时
3910ms
峰值内存
25.68 MiB