CF1415A Prison Break

题目描述

There is a prison that can be represented as a rectangular matrix with nn rows and mm columns. Therefore, there are n \cdot mn⋅m prison cells. There are also n \cdot mn⋅m prisoners, one in each prison cell. Let's denote the cell in the ii -th row and the jj -th column as (i, j)(i,j) .

There's a secret tunnel in the cell (r, c)(r,c) , that the prisoners will use to escape! However, to avoid the risk of getting caught, they will escape at night.

Before the night, every prisoner is in his own cell. When night comes, they can start moving to adjacent cells. Formally, in one second, a prisoner located in cell (i, j)(i,j) can move to cells ( i - 1 , j )(i−1,j) , ( i + 1 , j )(i+1,j) , ( i , j - 1 )(i,j−1) , or ( i , j + 1 )(i,j+1) , as long as the target cell is inside the prison. They can also choose to stay in cell (i, j)(i,j) .

The prisoners want to know the minimum number of seconds needed so that every prisoner can arrive to cell ( r , c )(r,c) if they move optimally. Note that there can be any number of prisoners in the same cell at the same time.

输入格式

The first line contains an integer tt (1 \le t \le 10^4)(1≤t≤104) , the number of test cases.

Each of the next tt lines contains four space-separated integers nn , mm , rr , cc ( 1 \le r \le n \le 10^91≤r≤n≤109 , 1 \le c \le m \le 10^91≤c≤m≤109 ).

输出格式

Print tt lines, the answers for each test case.

题意翻译

有一个 nn 行 mm 列的监狱,它的每个格子里都有一个囚犯。这些囚犯被命令走到第 rr 行第 cc 个格子。

请求出这些囚犯走到第 rr 行第 cc 个格子所需步数中的最大值。(每个囚犯每步只能往上、下、左或右四个方向走一格。)

本题每个测试点中有多组数据,具体输入格式请参见样例。

Translated By @NSObject

输入输出样例

输入 #1

3
10 10 1 1
3 5 2 4
10 2 5 1

输出 #1

18
4
6
#include <bits/stdc++.h>    //包含了所有的头文件

using namespace std;
int t;
int()
{
	cin >>t;
	while(t--)
	{
		int n, m ,c ,r;
		cin<< n << m << c << r;
		int ans=0;
		ans = max(ans, r-1 + c-1);
		ans = max(ans, r-1 + m-c);
		ans = max(ans, n-r + c-1);
		ans = max(ans, n-r + m-c);
		cout << ans << endl;
	}
	return 0;
}

作者温馨提示:直接访问四个监狱顶点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值