【LGR-093】洛谷 10 月月赛 I & MCOI R6 Div.2 A&B
【A】T173758 「MCOI-06」Flight
题目描述
书虫需要移动他的盾构机。
书虫将 MC 空间抽象为二维平面。他的盾构机现在在 (a,b)(a,b)
,而书虫想把盾构机移动到 (c,d)(c,d)
。
书虫每一步可以将盾构机向东南西北任何方向行动。但是这盾构机有一个限制:相邻两步不能向同一个方向走!
给定 (a,b)(a,b)
和 (c,d)(c,d)
,请计算书虫最少需要几步将盾构机移动到终点。
求书虫的最少步数。可以证明,他永远可以到达终点。
输入格式
本题有多组数据。
第一行一个正整数 T
,表示表示数据的组数。
接下来 T
行,每行四个整数 a,b,c,d
,代表一组数据,其中 (a,b)
为起点,(c,d)
为终点。
输出格式
输出 T
行,第 i
行代表第 i
组数据的答案。
输入输出样例
输入#1
1 |
|
输出#1
1 |
|
说明/提示
样例 1 解释
- 对于第一组,最优策略为
(-2,0)->(-2,1)
。 - 对于第二组,最优策略为
(0,1)->(1,1)->(1,2)->(2,2)->(2,3)->(3,3)
。 - 对于第三组,最优策略之一为
(-1,1)->(0,1)->(0,0)->(1,0)->(1,1)
。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(29 pts):
0<=a,b,c,d<=3
。 - Subtask 2(29 pts):
a=c
。 - Subtask 3(42 pts):无特殊限制。
对于所有数据,1<=T<=10^5
,|a|,|b|,|c|,|d|<=10^18
。
分析
通过观察可以发现,如果起点和终点在对角线上时,需要走的步数为2*|X1-X2|
(X1>=X2)步,而两点在直线上时需要走的步数为2*(X1-X2)+(-1)^(X1-X2)
(X1>=X2,水平) 或 2*(Y1-Y2)+(-1)^(Y1-Y2)
(Y1>=Y2,垂直),因此我们可以先走到与终点水平或垂直的直线上,再根据在直线上的规律走到终点(相距n步:n为奇数时,2n-1步;n为偶数时,2n步)。
代码
1 |
|
【B】T173727 「MCOI-06」Gerrymandering
题目描述
给定正整数 n,m,k
能否将一个 n×m
表格染色,使得每一个颜色形成恰好一个连通块,并且每一个连通块大小为 k
?
如果存在,请构造一个合法方案。
输入格式
本题有多组数据。
第一行一个正整数 T
,表示表示数据的组数。
接下来 TT 行,每行三个正整数 n,m,k
。
输出格式
输出 T
行,第 i
行含第 i
组数据的答案。如果存在,输出 YES
,否则,输出 NO
。
如果存在,接下来输出 n
行,其中每行 m
个正整数,其中每一个正整数小于等于 10^9
并且形成一个大小恰好为 k
的连通块。
输入输出样例
输入#1
1 |
|
输出#1
1 |
|
说明/提示
样例 1 解释
数据组 3 的合法输出之一:
数据规模与约定
本题采用捆绑测试。
Subtask 1(20 pts):k=1
。
Subtask 2(30 pts):n=1
。
Subtask 3(50 pts):没有特殊限制。
对于 100% 的数据,1<=n,m,k,T,∑nm<=10^6
。
分析
对于n*m%k==0
的表格一定有解,模拟填充,第一行顺序填,第二行逆序填,以此类推(如下图),保证全都是连通块。
代码
1 |
|