iCow(暴力、右)

リンク:https://ac.nowcoder.com/acm/contest/1069/B
出典:牛オフネットワーク

タイトル説明

農業の無限の苦労によって疲労し、ファーマージョンは新しいiCowとMP3プレーヤー市場での彼の手を試してみることにしました。

これは、Nの曲(1 <= N <= 1,000)、「シャッフル」の順番で曲を果たしていることをNを通じて1をインデックス化格納MP3プレーヤーです

ファーマージョンの自身のアルゴリズムによって決定されます。

※各曲は私が最初の評価はRI(1 <= Riを<= 10,000)があります。

*再生する次の曲は、常に最高の定格の1つ(または、二つ以上が結ばれている場合、最低のインデックスを持つ最高の定格曲が選択されている)です。

*演奏された後、曲の評価はゼロに設定され、その評価ポイントは、他のN-1の歌に均等に分散されています。

評価ポイントは(すなわち、それらはN-1で割り切れません)均等に分配することができない場合は*、その後、余分なポイントは、リストの最初の曲(すなわち、R1、R2などに一度に一つのアウトparceledています - - ではなく演奏曲)は、より多くの余分なポイントが残っていないまで。

このプロセスは、次の曲が再生された後、新たな評価で繰り返されます。iCowにより再生される最初のT楽曲(1 <= T <= 1000)を決定します。

説明を入力します。

* 1行目:二スペースで区切られた整数:NとT
*行2..N + 1:Riを:ラインI + 1は、単一の整数が含まれています

出力説明:

*行1..T:ライン私はiCowを果たしているi番目の曲である単一の整数が含まれています。

エントリー

3  4 
10 
8 
11

輸出

3 
1 
2 
3

説明

iCowは評価それぞれ10、8、11、で、3曲が含まれています。あなたは、最初の4曲が再生されるように決定する必要があります。
各曲が再生する前に評価:
R1 R2 R3
10 8 11 - >、#3 11/2 = 5を再生残り= 1
16 13 0 - >#1 16/2 = 8プレイ
>#2 21を果たし- 0 21 8 / 2 = 10、残り= 1
11 0 18 - >#3を再生...

 

レジャーキューを使用し始めて、より多くのトラブルを書くの結果は、最終的に混沌とした、WAを書いただけでなく、直接暴力を行う可能性があります

1つの#include <アルゴリズム>
 2の#include <iostreamの>
 3の#include <cstdlib>
 4の#include <CStringの>
 5の#include <sstream提供>
 6の#include <cstdioを>
 7の#include <ベクトル>
 8の#include < ストリング >
 9#含む<cmath>
 10の#include <キュー>
 11の#include <スタック>
 12の#include <地図>
 13の#include < 設定 >
 14の#include <math.h>の
15   
16  の#define INF 0x3f3f3f3f
 17  の#define MAXN 1005
18  のconst  int型 MOD = 1E9 + 7 19   
20  使って 名前空間STDを、
21   
22  のint D [MAXN]。
23   
24  のint main()の
 25  {
 26      INT N、K。
27      CIN >> N >> K。
28   
29      のためにint型 i = 1 ; iが= Nを<; Iは++ 30          のscanf(" %dの"、&D [I])。
31       
32      ながら(K-- ){
 33          、INTMAXX = - 1 34          のintフラグ= 0 35          のためには、int型 i = 1 ; iが<= Nを; iは++ 36              であれば(D [i]が> MAXX)
 37                  MAXX = D [i]は、フラグ= I。
38          のprintf(" %d個の\ n " 、フラグ)。
39          INTの TEMP = D [フラグ] /(N - 1 )。
40が         あれば(TEMP){
 41              のためにint型 I = 1 ; = iが<Nを; iは++ ){
 42                  もし(I =!フラグ)
 43                      のD [I] + = TEMP。
44              }
 45          }
 46          TEMP = D [フラグ]%(N - 1 )。
47          D [フラグ] = 0 ;
48          であれば(TEMP){
 49              のためには、int型 i = 1 ; iが温度を<= N &&; iが++ ){
 50                  場合(I =!フラグ)
 51                      D [i]を++、temp-- 52              }
 53          }
 54      }
 55   
56     リターン 0 ;
57 }

 

 

 

おすすめ

転載: www.cnblogs.com/jiamian/p/11261757.html