BNU4060:Plants vs. Zombies

 植物大战僵尸(Plants vs. Zombies)是一款风靡全球的小游戏,游戏中可怕的僵尸即将入侵你的家庭,你唯一的防御方式就是你栽种的植物。

一天早上起床,你惊讶地发现,游戏变成了事实:一大堆各种各样的僵尸正准备入侵你的寝室!而且僵尸种类远远多于游戏中的(有1000000000种!)更让人绝望的是你的那些植物无法种在水泥地板上,而你又忘了选花盆……

这时~你突然发现你身后放着阿拉丁神灯!你抱着最后的希望轻轻地擦了擦神灯,大牛51isoft从神灯里钻了出来!!看着51isoft充满智慧的小眼睛,你明白你终于可以开始Programer vs. Zombies(PVZ)了!!
 
51isoft不断地提升着自己的小宇宙,奋勇攻击着胆敢进入寝室的僵尸。但由于前不久大牛不幸把蹄儿给崴了,这次发挥有点失常,漏了一只僵尸没有杀死,你的任务就是找出大牛漏掉的僵尸是哪一种。
 

Input

输入的第一行是一个整数T(T<=20)代表数据组数。对于每组数据,第一行是一个整数N(N<1000000)代表将进入寝室的僵尸总数,接下来的N*2-1行,每行有两个整数a b(用空格隔开),0<=a<=1,b<1000000000,若a=0 表示一只种类为b的僵尸进入宿舍,若a=1 表示51isoft打死了一只种类为b的僵尸。

Output

 输入一个整数,表示被漏掉的僵尸的种类。

 

Sample Input

2
2
0 1
1 1
0 2
3
0 13
0 12
0 13
1 13
1 13

Sample Output

2
12
 
这道题开数组是肯定会超内存,但是我们要注意,因为只有一只僵尸没有消灭,所以将所有僵尸加起来再减去被消灭的,最后剩下的值就是最后没消灭的僵尸
 
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;

int main()
{
    long long sum;
    int n,flag,a,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        n = n*2-1;
        sum = 0;
        while(n--)
        {
            scanf("%d%d",&flag,&a);
            if(flag)
            sum-=a;
            else
            sum+=a;
        }
        printf("%lld\n",sum);
    }

    return 0;
}

你可能感兴趣的:(水,BNU)