MX-X12-T1 / ALFR R5A 地铁 题解
首先,可以将每个地铁线路两端一直延长直到城市道路交通网的边缘,这样不会增加线路的数量,每条地铁线路能覆盖的交叉路口数量还能变多。
这样,所有地铁线路就可以被分为两种:
- 横向的可以经过
m 个交叉口的地铁线路; - 纵向的可以经过
n 的交叉口的地铁线路。
不考虑不能「脱网」的特殊要求,要用这两种地铁线路覆盖所有
但是这样构造出来的地铁“线网”图并没有满足不能「脱网」的要求。因此,需要一个另一个垂直方向的地铁线路将所有平行的地铁线路串起来。所以答案是
注意需要特判
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);cin.tie(0);
int t;cin>>t;
while(t--){
int n,m;cin>>n>>m;
int x=min(n,m);
if(x==1)cout<<1<<endl;
else cout<<x+1<<endl;
}
return 0;
}