• 3235 战争


    3235 战争

     

     时间限制: 2 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond
     
     
    题目描述 Description
    2050年,人类与外星人之间的战争已趋于白热化。就在这时,人类发明出
    一种超级武器,这种武器能够同时对相邻的多个目标进行攻击。凡是防御力小于或
    等于这种武器攻击力的外星人遭到它的攻击,就会被消灭。然而,拥有超级武器是
    远远不够的,人们还需要一个战地统计系统时刻反馈外星人部队的信息。这个艰巨
    的任务落在你的身上。请你尽快设计出这样一套系统。
    
    这套系统需要具备能够处理如下2类信息的能力:
    
      1.外星人向[x1,x2]内的每个位置增援一支防御力为v的部队。
      2.人类使用超级武器对[x1,x2]内的所有位置进行一次攻击力为v的打击。系统需
    要返回在这次攻击中被消灭的外星人个数。
    
    注:防御力为i的外星人部队由i个外星人组成,其中第j个外星人的防御力为j。
    输入描述 Input Description
        第一行读入n,m。其中n表示有n个位置,m表示有m条信息。
        以下有m行,每行有4个整数k,x1,x2,v用来描述一条信息 。k表示这条信息属
    于第k类。x1,x2,v为相应信息的参数。k=1 or 2。
        注:你可以认为最初的所有位置都没有外星人存在。
        规模:0<n<=1000;0<x1<=x2<=n;0<v<=1000;0<m<=2000
    输出描述 Output Description
    结果输出。按顺序输出需要返回的信息。
    样例输入 Sample Input
    3 5             
    1 1 3 4         
    2 1 2 3         
    1 1 2 2         
    1 2 3 1         
    2 2 3 5         
    
    样例输出 Sample Output

    6

    9

    数据范围及提示 Data Size & Hint

    详见试题

     1 #include<cstdio>
     2 int s[1010][1010];
     3 int read()
     4 {
     5     int x = 0, f = 1;char ch = getchar();
     6     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();} 
     7     while (ch>='0' && ch<='9') {x = x*10+ch-'0'; ch=getchar();}
     8     return x*f;
     9 }
    10 void work(int k,int x,int y,int v)
    11 {
    12     int ans = 0;
    13     if (k==1)
    14         for (int i=x; i<=y; ++i)
    15             for (int j=1; j<=v; ++j)
    16                 s[i][j]++;
    17     if (k==2)
    18     {
    19         for (int i=x; i<=y; ++i)
    20             for (int j=1; j<=v; ++j)
    21                 if (s[i][j]!=0)
    22                 {
    23                     ans += s[i][j];
    24                     s[i][j] = 0;
    25                 }
    26         printf("%d
    ",ans);
    27     }
    28     return ;
    29 }
    30 int main()
    31 {
    32     int n,m,a,b,c,d;
    33     n = read(); m = read();
    34     for (int i=1; i<=m; ++i)
    35     {
    36          a = read();b = read();c = read();d = read();
    37          work(a,b,c,d);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    java获取当前时间(年~~毫秒)
    python获取当前时间
    PyThon3运算符
    PyThon3中判断一个内容属于另一个内容("a" 在 “abcd”中
    PyThon3判断语句
    【BZOJ2460】元素(BJOI2011)-异或线性基+贪心
    【BZOJ3534】重建(SDOI2014)-矩阵树定理
    【BZOJ1227】虔诚的墓主人(SDOI2009)-线段树+离散化+组合数
    【BZOJ2815】灾难(ZJOI2012)-拓扑排序+建树+LCA
    【BZOJ2209】括号序列(JSOI2011)-Splay
  • 原文地址:https://www.cnblogs.com/mjtcn/p/7080942.html
Copyright © 2020-2023  润新知