1. 程式人生 > >HDU 1273 漫步森林(數學 找規律)

HDU 1273 漫步森林(數學 找規律)

n-1 pac ron break ++ inpu don its can

傳送門:

http://acm.hdu.edu.cn/showproblem.php?pid=1273

漫步森林

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3508 Accepted Submission(s): 2339


Problem Description Gardon和小希每天晚上都喜歡到屋外的森林裏散步,設森林裏有N塊空地,任意兩塊空地之間都有一條小徑相通。他們每次從任意一塊空地出發,經過所有的空地後回到原來的空地。
由於他們都喜歡新鮮的旅行,所以他們不希望對任何一條小徑經過兩次。那麽請問,他們最多能保證多少次這種新鮮的旅行呢?
例如(圖),當N=5時,他們只能保持兩次這樣新鮮的旅行。
技術分享圖片

Input 輸入包含多組數據,每組數據占一行,是一個數字 N。(0<N<=1000000000)
文件以一個0結束。

Output 對於每個輸入的N,輸出最多能保證新鮮旅行的次數。

Sample Input 5 0

Sample Output 2

Author Gardon 分析: n個結點,各個結點間都是想通的,
所以有(n-1)*n/2條邊。
每走一次都需要(也只需)n條邊才能經過n個頂點,
所以答案是(n-1)/2,即((n-1)*n/2)/n=(n-1)/2。 code:
#include<bits/stdc++.h>
using
namespace std; int main() { int n; while(~scanf("%d",&n)) { if(n==0) break; printf("%d\n",(n-1)/2); } return 0; }

HDU 1273 漫步森林(數學 找規律)