CSU - 2059 Water Problem(Z线分割平面)
生活随笔
收集整理的這篇文章主要介紹了
CSU - 2059 Water Problem(Z线分割平面)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一條‘Z’形線可以將平面分為兩個區域,那么由N條Z形線所定義的區域的最大個數是多少呢?每條Z形線由兩條平行的無限半直線和一條直線段組成
Input
首先輸入一個數字T(T<100),代表有T次詢問 每次詢問輸入一個數字N(N<1e8),代表有N條Z形線
Output
對于每次詢問,在一行輸出N條‘Z’形線所能劃分的區域的最大個數為多少
Sample Input
2 1 2Sample Output
2 12Hint
?
分析:
首先考慮一個類似的問題:
有N組直線,每組都由3條平行的直線構成,3條直線的間距可以調整。
那么N組直線最多劃分出多少個區域?
這個問題就很容易求出來,3n(3n-1)/2+1
本題的答案,就是把每組3條平行直線變成Z,也就是在3n(3n-1)/2+1的基礎上再減2n即可
所以:(9*n*n-7*n+2)/2
code:
?
#include<stdio.h> #include<algorithm> #include<memory.h> #include<math.h> using namespace std; typedef long long LL; #define INF 0x3f3f3f3f #define max_v 1005 int main() {int t;scanf("%d",&t);LL n;while(t--){scanf("%lld",&n);printf("%lld\n",(9*n*n-7*n+2)/2);}return 0; }?
轉載于:https://www.cnblogs.com/yinbiao/p/9371258.html
總結
以上是生活随笔為你收集整理的CSU - 2059 Water Problem(Z线分割平面)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最短路 poj1125
- 下一篇: iOS 键盘遮挡输入框万能解决方案(多个