alt 这题其实是一道模拟推规律的题目

题解思路:

由题意我们其实不难看出小红小紫的意图和操作方法,小红希望步数尽量小,换句话说就是希望小小红尽量走直线,小紫希望步数尽量大,换句话就是希望小小红尽量多拐弯,所以这题的思路其实很明显,小红应该把障碍放在小小红的下方,由于题目要求,必须存在一条能抵达终点的路径,所以这样放才能使小小红尽量走直线,我们可以列个excel表看一下: alt

其实很明显可以看出,小红第一个位置一定不能放在(2,2),因为用贪心的想法,我们要保证小小红尽可能的多走,还要满足条件,放在(2,3)是比放在(2,2)要更划算的,因为这样小小红可以连走三次,小紫要想逼他转弯就只能放在(1,5),这样放其实才是对我们有利的,后面的每一步都这么做下去,其实就能找到规律了

AC码:

void solve() {
	int n;
	cin>>n;
	cout<<n-1+n/5<<"\n";
}

signed main() {
	//vector<vector<int>>a(n,vector<int>(m)); 二维构造
	//cout << fixed << setprecision(10);  固定小数输出
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int T = 1;
	cin >> T;
	while (T--) solve();
	return 0;
}