Codeforces Round #411 (Div. 2) C. Find Amir

xiaoxiao2021-02-28  102

题目链接:Find Amir

题目大意:给你一个n,城市编号从1到n,然后让你建路,两个点之间建一条路需要的花费是(i+j)%(n+1),然后叫你去建路,使得总花费最小

题目思路:直接绕着点转圈就好了,比如n等于10的时候,先连1-10,然后10-2,然后2-9,一直连,直到所有的点连完,然后判一下奇偶就可以了

#include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n; while(~scanf("%d",&n)){ if(n%2 == 0) printf("%d\n",n/2-1); else printf("%d\n",(n+1)/2-1); } return 0; }

转载请注明原文地址: https://www.6miu.com/read-34871.html

最新回复(0)