小白题解 Codeforces 804A Find Amir

来源:互联网 发布:软件盒子网站 编辑:程序博客网 时间:2024/06/06 19:17

(水题)题目链接:点击打开链接

题目大意:给定编号为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;}


原创粉丝点击