P8840 [传智杯 #4 初赛] 报告赋分

· · 题解

分支结构的练习题。

首先需要解决的是多组询问。

显然可以用一个 for 循环解决。

但一个更为简便的方法是这样:

while(T--)
{
    ...
    ...
    ...
}

这里只做简介,不深究,有兴趣的可以自行百度。

然后,由于只有两个扣分选项,可以直接用两个 if 判断。

当然,最低分为 0 分,所以每次扣分都需要和 0 取个 \max

AC Code:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int qwq;cin>>qwq;
    while(qwq--)
    {
        int a,p;cin>>a>>p;
        if(p<16)a=max(0,a-10);
        if(p>20)a=max(0,a-p+20);
        cout<<a<<'\n';
    }
    return 0;
}