P1697 [USACO18JAN] Lifeguards B 题解

发布时间:2024年01月21日

同 P1696,又是一道简单的暴力水题。

第一层循环枚举被解雇的奶牛的编号,第二层循环枚举除了被解雇的奶牛,其他奶牛的工作时间,第三重循环从从工作时间的左端点枚举到右端点,打个标记,再把所有打上了标记的时间点的个数都统计一下,答案就是统计出的结果里面的最大值。

详见代码:

#include<iostream>
using namespace std;

int n, ans = -1e7;
struct node{
?? ?int x, y;
}a[105];
bool vis[10005];

int main(){
? ? cin >> n;
? ? for (int i = 1; i <= n; i++){
? ? ?? ?cin >> a[i].x >> a[i].y;
?? ?}
?? ?for (int i = 1; i <= n; i++){
?? ??? ?int cnt = 0;
?? ??? ?for (int j = 0; j <= 1000; j++) vis[j] = 0;
?? ??? ?for (int j = 1; j <= n; j++){
?? ??? ??? ?if (j == i) continue;
?? ??? ??? ?for (int k = a[j].x; k < a[j].y; k++){
?? ??? ??? ??? ?vis[k] = 1;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?for (int j = 0; j <= 1000; j++) if (vis[j]) cnt++;
?? ??? ?ans = max(ans, cnt);
?? ?}
?? ?cout << ans;
? ? return 0;
}

文章来源:https://blog.csdn.net/xxyrcgtzbh554488/article/details/135734846
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。