地址:http://codeforces.com/contest/1457/problem/A
题意:
有一个n*m的监狱,每一个格子有一个犯人,坐标为( r , c )的格子有一条逃生通道,犯人每一秒可以向相邻的一个格子移动,问所有犯人到达逃生通道最久需要多少秒。
解析:
离r,c的最远点,一定在矩阵的四个角之中,所以对四个角取个最大值即可。
#include<iostream> #include<cstring> #include<map> #include<stack> #include<queue> #include<cstdio> #include<cmath> #include<string.h> using namespace std; typedef long long ll; const int inf=99999999; int main() { int t; cin>>t; while(t--) { ll n,m,r,c; cin>>n>>m>>r>>c; ll md1=(r-1)+(c-1); ll md2=fabs(n-r)+fabs(c-1); ll md3=fabs(1-r)+fabs(m-c); ll md4=fabs(n-r)+fabs(m-c); cout<<max(max(md1,md2),max(md3,md4))<<endl; } return 0; }