CF1334A Level Statistics 题解
思路分析
有 \(4\) 种情况会导致记录有问题。
- \(c_i < c_{i - 1}\),即本次记录的游戏次数比上一次少。
- \(p_i < p_{i - 1}\),即本次记录的胜利次数比上一次少。
- \(c_i < p_{i - 1}\),即本次记录的游戏次数比本次记录的胜利次数少。
- \(c_i - c_{i-1} < p_i - p_{i-1}\),即本次记录比上一次增加的游戏次数比增加的胜利次数少。
这些情况便输出 NO
。
代码实现
注:在输入的时候不能直接处理,因为输出 NO
结束循环后会有剩余的数据没有输入,导致和后面的数据混在一起。
#include <bits/stdc++.h>
const int MaxN = 1e2 + 5;
int t;
int n;
int c[MaxN], p[MaxN];
void solve()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
scanf("%d%d", &c[i], &p[i]);
}
for (int i = 1; i <= n; i++)
{
if (c[i] < c[i - 1] || p[i] < p[i - 1] || c[i] < p[i] || c[i] - c[i - 1] < p[i] - p[i - 1])
{
printf("NO\n");
return;
}
}
printf("YES\n");
}
int main()
{
scanf("%d", &t);
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}