CF53C Little Frog 题解

Content

有一只小青蛙想游历 \(n\) 块土堆,它现在在 \(1\) 号土堆上,每次可以跳跃任意距离到达另外的一个土堆。它想让每次跳跃的距离都不相等,试找到这样的一个方案。

数据范围:\(1\leqslant n\leqslant 10^4\)。

Solution

我们可以尝试左右横跳的方式,从 \(1\) 跳到 \(n\),再从 \(n\) 跳到 \(2\),再从 \(2\) 跳到 \(n-1\)……以此类推,直到所有的土堆都遍历过为止。

Code

int n;

int main() {
	getint(n);
	int i = 1, cur = 1;
	while(cur <= n) {
		printf("%d ", i);
		if(cur % 2)	i += (n - cur);
		else	i -= (n - cur);
		cur++;
	}
	return 0;
}
上一篇:[luogu4459][BJOI2018]双人猜数游戏(DP)


下一篇:字符串杂题