题目描述
你是一只地鼠,最喜欢在人类所谓的打地鼠游戏中戏弄愚蠢的人类。你纵横天下数十年,仍无人能打爆你的头,因而被称为当代的头铁王。
秉承着敌进我退、敌退我扰的策略,你总结出自己的一套作死策略:偶冒奇不冒,即你只会从一个已经被敲打过偶数次的地洞的冒头。
打地鼠游戏:N个线性排列的地洞,人类手持铁锤,每一次造成L到R洞口的范围攻击。你只允许在愚蠢的人类攻击的同时冒头,不然怎么对的上头铁王的称号。
输入描述
一个文件仅有一组数据。
数据第一行2个整数N、M (0<N,M \leq 100000)(0<N,M≤100000),分别代表N个地洞。
接下来M行,每行两个整数L,R (0< L \leq R \leq100000)(0<L≤R≤100000),表示当前攻击的范围
输出描述
M行数据,每行输出当前可以冒头的地洞个数
样例输入
5 4 1 1 3 4 1 5 2 3
样例输出
4 2 0 2
实属新手,抛砖引玉:
N, M = map(int, input().split()) list1 = [] list2 = [] for i in range(0,N): list1.append(0) for i in range(0,M): list2.append(input().split()) #print(list1) #print(list2) def za(list1,list2): num = 0 k = 0 for i in range(0,len(list2)):#每砸一次遍历一次 for j in range(int(list2[i][0]) - 1, int(list2[i][1])):#统计每一个洞被砸了多少次 list1[j] = int(list1[j]) + 1 #print(list1) for m in list1:#判断洞是不是被砸了偶数次,如果是那这次有没有被砸中 k = k+1 if (m%2==0 or m==0) and (k < int(list2[i][0]) or k > int(list2[i][1])): num = num+1 print(num) k = 0#每次遍历都要归零 num = 0 za(list1,list2)