Codeforces 805C Find Amir

xiaoxiao2021-02-27  145

题意:

         给出一个 N 个节点的图,节点 i 到节点 j 的花费为 ( i + j ) MOD ( N + 1 ),问遍历所有节点的最小花费。

思路:

         举例观察

         若 N == 10

         那么 1 10 路径

                  2  9  路径

                  3  8  路径

                  4  7  路径

                  5  6  路径

        都是免费的且两两路径之间的花费只有 1。 

        由此  对于 偶数 N 最小花费为 N / 2 - 1

                 对于 奇数 N 最小花费为 N / 2

代码:

#include <bits/stdc++.h> using namespace std; int main() { int n; while(scanf("%d",&n)!=-1){ if(n%2==1){ printf("%d\n",n/2); }else{ printf("%d\n",n/2-1); } } }
转载请注明原文地址: https://www.6miu.com/read-16321.html

最新回复(0)