专栏文章

题解:CF2094B Bobritto Bandito

CF2094B题解参与者 6已保存评论 8

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
8 条
当前快照
1 份
快照标识符
@mipi8yi4
此快照首次捕获于
2025/12/03 12:26
3 个月前
此快照最后确认于
2025/12/03 12:26
3 个月前
查看原文

题目大意

在一个小镇上,在一条无穷数线上有无数栋房子,房子的位置是 ,2,1,0,1,2,\ldots, -2, -1, 0, 1, 2, \ldots 。在第 00 天,他让房子 00 的不幸居民感染了瘟疫。接下来的每一天,瘟疫都会传播到 11 个相邻的健康家庭。
你知道在 nn 天后, [l,r][l, r] 段被感染了。请找出可能在第 mm(mn)( m \le n ) 被感染的线段 [l,r][l', r']

思路

首先一定要清楚,瘟疫是从 00 处开始传播的,那么最终答案也一定要包含 00,也就是 0[l,r]0 \in [l', r']
那我们先假定 l=0l' = 0, 这样就直接保证了上面的要求。而且很容易就能发现,[l,r][l,r] 的长度,是比 [l,r][l',r'] 的长度小 mnm-n 天的。这样我们就得到了答案。
但是要注意一点,[l,r][l,r][l',r'] \subseteq [l,r]。所以我们将答案区间向左平移,使上式成立。

代码

CPP
#include<bits/stdc++.h>
using namespace std;
int main() {
    int T; cin >> T;
    while(T--) {
        int a, b, c, d; cin >> a >> b >> c >> d;
        int y = d-a+b-c, x = 0; 
        while(y > d) x--, y--;
        cout << x << " " << y << "\n";
    }
    return 0;
}

评论

8 条评论,欢迎与作者交流。

正在加载评论...