(水题)题目链接:点击打开链接
题目大意:给定编号为1到n的点,一个人从一点出发走完这n个点,每段的花费为(i+j)mod(n+1),求最小花费
分析:由于花费是要(i+j)mod(n+1),则尽可能使每段路程的i+j都接近n+1,通过样例中n=10的情况,不难发现解法。从1到n,花费为0;从n走到2,花费为1;从2到n-1,花费为0;从n-1到3,花费为1;从3到n-2...这样循环往复,每次向右走花费为零,向左走花费为1。据此不难写出通项公式:cost =(n-1)mod 2。
下面是AC代码
#include<cstdio>
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",(n-1)/2);
return 0;
}