Codeforces Round #687 A. Prison Break
阿新 • • 發佈:2020-11-30
地址: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; }