题意:
给出一个 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);
}
}
}