植物大战僵尸(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; }