C - 水题
Let Me Love U
題目描述
一張地圖上有有N個城市,他們可以通過雙向道路互相連接,但是每兩座城市只能有一條雙向道路互相連接。
現在我們想要滿足條件“地圖中不能有任意三個城市可以互相直達”,請問滿足這個條件的最大道路數是多少?
輸入描述:
多組輸入
每組輸入一個N(1<=N<=1000)
輸出描述:
每組答案輸出一行
輸入
4
2
3
輸出
4
1
2
思路
地圖中不能有三個城市互相直達,就是把城市分為兩組,組內不能相連,組間可以相連。道路數就是第一組的城市 乘以 第二組的城市。要想使道路數最多,兩組的城市數要盡可能接近
AC
#include<bits/stdc++.h> #define N 100005 #define ll long long using namespace std; int main() {//freopen("in.txt", "r", stdin);int n;while (scanf("%d", &n) != EOF) {int t = n / 2;int ans = t * (n - t);printf("%d\n", ans);}return 0; }總結
- 上一篇: B取石子
- 下一篇: F - 阿汤的疑惑(模拟取余+分解质因数