【题解】CF1715A Crossmarket

题面传送门

解决思路

首先,我们让 Megan 先走,因为他可以留下传送门。可以得知,不管怎么走,他到达终点所耗费的能量一定是 \(n+m-2\)

然后,Stanley 走时就可以利用传送门。考虑怎样布置传送门可以使 Stanley 走的路最短。这时只要分情况讨论即可。若 \(m\ge n\),就会出现以下情况:

可以看出,Megan 最多可以帮 Stanley 跳过 \(m\) 的距离,也就是说 Stanley 最少需要花 \(n\) 的能量到达终点。

同样,若 \(n\ge m\),就是样例所给的情况。Megan 最多可以帮 Stanley 跳过 \(n\) 的距离,也就是说 Stanley 最少需要花 \(m\) 的能量到达终点。

总体想法还是比较简单的。但是需要特判一种情况。就是 \(n=1\) 并且 \(m=1\),两人都在终点,花费能量为 \(0\),而按照之前的算法会变成 \(1\)

AC Code

#include<bits/stdc++.h>
using namespace std;
int n,m,ans,T;
void solve(){
	scanf("%d%d",&n,&m);
	if(n==1&&m==1) printf("0\n");
	else printf("%d\n",(n-1)+(m-1)+min(n,m));
}
int main(){
	scanf("%d",&T);
	while(T--) solve();
	return 0;
} 

posted @ 2022-09-29 08:24  Binary_Lee  阅读(13)  评论(0编辑  收藏  举报
Title