欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【比赛回顾】广工2020程序设计初赛I-粘土人

程序员文章站 2022-04-08 17:53:11
...

I-粘土人

题目:

【比赛回顾】广工2020程序设计初赛I-粘土人


问题分析:

要求要最远,那么就是把手办往两边挪动咯,记得要小心注意顶位的情况,即到达最左和最右不能再移动了。


AC代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n,x,a,b;
	int t;
	int maxmove;
	int temp;
	cin >> t;
	while ( t-- )
	{
		cin >> n >> x >> a >> b;
		//就默认a大把,这样子后面好操作少讨论
		if (a<b)
		{
			temp = a;
			a = b;
			b = temp;
		}
		//计算最多两个手办都移动到最左和最右的步数
		//n-a 和 b-1两者相加即是结果
		maxmove = n-a+b-1;
		//如果大于就直接输出,因为可以不挪完全部操作
		if ( x>=maxmove )
			cout << n-1 << endl;
		else
			cout << a-b+x << endl;	
	}
	return 0;
}

【比赛回顾】广工2020程序设计初赛I-粘土人

相关标签: 比赛回顾