hdu1214円卓会議

トピックリンク:http://acm.hdu.edu.cn/showproblem.php?pid=1214

HDU ACMチームの選手たちは、多くの場合、夏の合宿で直面する問題を行う際に自分たちの問題を議論する。問題を解決するため、独自に直面したとき、すべての時間が、彼らは後に、ラウンドテーブルの隣に座って通信します私たちの議論は、一般的に求めて解決しないの後
だけHDU ACMチーム固有の円卓会議での質問、あなたが味に来ることができる一日を:)ああ、問題の日に、エディは非常に奇妙な思い付きました彼らは毎分であるならばアイデアは、ACMの隣接する二つの部材のペアは交換し
、その後シートの反対のため、それを元の状態にどのくらいの時間を取得するために、下部シートを?(すなわち、各プレイヤーのために、彼の元に彼は右側にチーム後に残され、もちろん他の賢明な他のチームメイトを打ち負かすないのである彼の左にある彼の元選手の右側)は、
すぐに解決するには、この奇妙な問題を入れて、あなたはそれを解決する方法を知っています?

  まず、我々は、第n番目の位置に、固定されたように、考えることができる、N-2回n-1の位置に移動し、(第2の位置にこの場合)第三の、移動は、N-三回。従って下降は(N-1)*(N-2)/ 2回、サンプルを発見することができない、悲しみの合計を必要とします -

  リニアテーブルについて、最初のあなたはとても最終的に移動する必要があり、逆の順序を達成するために行くには、最後の1を取得する必要がありますnは*(N-1)/ 2回、我々は適切な場所に移動一つ一つが本当に最高ですましたプログラムが、私たちはどこに行くの最後に長いルートを移動する方法はありますか?私たちは逆の順序で、最終的な要件が、タイトルを読んだが、どこそれぞれの人が、何の必須要件はありません座っては、すべての後に、テーブルの周りにあることがわかります、そして、我々が持っているn個の人々は彼らの動きを作るために二つの部分、各パートに分けた、など12345になるための12のように21所要時間、345は543が(本当に素晴らしい)、ドロップダウンの数が同じで、それは21543になりそうという、3時間を必要とする要件を満たし、かつ二分思考の使用になりました

コード:

1の#include <iostreamの>
 2の#include <cstdioを>
 3  使用して 名前空間をSTD。
4  INT N。
5  INT N1。
6つの INT ANS; 
7  INT ()メイン
 8  {
 9      ながら(scanf関数(" %のD "、&​​N)=!EOF)
 10      {
 11の          ANS = 0 12          、N1 = N / 2 13          N- = N1。
14          ANS + =(N1 *(N1- 1))/ 2;
15          ANS + =(N *(N- 1))/ 2 16          のprintf(" %dの\ n " 、ANS)。
17      }
 18      リターン 0 19 }

 

おすすめ

転載: www.cnblogs.com/yuelian/p/11871707.html