题目:
Description
小GJ和小LMW都很喜欢LOL,他们喜欢互相吹牛,诸如“我昨天非常强,打了20把全部超神了”。但是聪明的SWB却每每都能看着数据识破他们吹牛的伎俩。已知LOL击杀、死亡和助攻可以以任意顺序发生,连续完成8次击杀即被视作超神,死亡会打断连续击杀,助攻没有影响。
Input
有T(T<=20)组数据。 每组给出N(N<=100)场比赛的数据。 每场比赛在一行里给出击杀数K死亡数D助攻数A。(K,D,A<=100)
Output
每组数据给出一定超神的数量和一定不超神的数量,格式如样例所示
Sample Input
2 3 8 0 0 0 8 0 0 0 8 2 20 0 5 8 1 0
Sample Output
1 2 1 0
Hint
注意有些数据并不能判断是一定超神或者一定不超神如8 1 0这组,因此不计入答案的两个类别。
分析:
1,如果击杀数小于8,显然一定不超神;2,如果击杀数大于等于8,将其划分为长度为7的段,如果最后一段小于7,仍当作7处理,设段数为n,则超神的充分条件为n - 1 > 死亡数D。
代码:
#include<iostream> using namespace std; int main(){ int t; cin >> t; while(t--){ int n; cin >> n; int x,y; x = y = 0; for(int i = 0;i < n;i++){ int a,b,c; cin >> a >> b >> c; if(a < 8) y++; else{ if(a % 7 == 0){ if(a / 7 - 1 > b) x++; } else{ if(a / 7 > b) x++; } } } cout << x << " " << y << endl; } }