csuoj-1870-Legendary

题目:

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;
    }
}
 
原文地址:https://www.cnblogs.com/tracy520/p/6716676.html