トピックへのリンク:http://poj.org/problem?id=1484
この問題は、簡単なシミュレーションすることができます。もしNコンテナ、M動作、最大容量C. アナログデバイスのスイッチング動作のそれぞれ。原稿は最大消費電力に加えて、デバイスの消費電力ながら、次にオープン閉じている場合。元が開いている場合、現在の値マイナス電源装置によって消費しながら、それをシャット。日付までの最大消費電力。Cよりも大きいが、出力ヒューズが切れた場合。そうでない場合、最大出力に達します。シミュレーションアルゴリズムは非常に単純ですが、私は長い時間(.........)のためにワシントン。まで
1の#include <iostreamの> 2の#include <stdio.hの> 3の#include <CStringの> 4の#include <cmath> 5の#include <ベクトル> 6の#include <積層> 7の#include <地図> 8の#include < 設定 > 9の#include <リスト> 10の#include <キュー> 11の#include < ストリング > 12の#include <アルゴリズム> 13の#include <iomanip> 14 使用 名前空間STDを、 15 の#define MAX 50 16 17 構造体ノード 18 { 19 int型のSTA。 20 int型のパワー; 21 }。 22 23 ノードARR [MAX]。 24 25 のint N、M、C。 26 27 のint main()の 28 { 29 のint = P 1 。 30 一方(CIN >> N >> M >> C && N!= 0 && M!= 0 && C =!0 ) 31 { 32 int型の T = 0。// 功耗警告 33 int型の合計= 0 ; 34 int型の最大値= 0 ; 35 のint X; 36 用(INT I = 0、I <N - 、I ++ ) 37 { 38は、 CIN >> ARR [I] .Power; 39 ARR [I] .STA = 0 ; // 最初閉状態 40 } 41である ため(int型 I = 0 ;私は<M、Iは++ ) 42は 、{ 43が CIN >> X; 44は、 IF(ARR [X- 1 ] .STAの== 0)// 閉状態における電流 45 { 46は ARR [X- 1 ] = .STA 。1 ; // 開き 47 SUM = + ARR [X- 1。;] .Power 48 IF(SUM> MAX){最大= }; SUM 49 IF(SUM> C) 50 { 51である のT = 1 ; 52である // BREAK; //は、これを追加常にWA、WAであろう 53れる } 54である } 55 他// 現在開いている 56 { 57の ARR [X- 1 ] .sta = 0 。 58 サム- =のARR [X- 1 ] .power。 59 } 60 } 61 であれば(Tの== 1 ) 62 { 63 COUT << " 配列" << P ++ << ENDL << " ヒューズが切れました。" << ENDL。 64 } 65 他の 66 { 67 COUT << " 配列"++ Pは<< <<てendl << " 未溶断したヒューズは、WAS " << <<てendl " 最大消費電力は、WAS " << <<最大" アンペア。" << てendl; 68 } 69 COUT <<てendl; // NOTEフォーマット要件、これはPEラップすることなく、 70 } 71で 返す 0 ; 72 }
消費電力の裁判官はCよりも大きい場合にはフラグが1にセットされ、私は、直接には、長い時間のためにWAで、その結果、抜け出すだろう、実際には、(フレーズを追加する必要はありません)、それを削除します。タイトルmの意味は、最終的に決意する前に、すべての操作を読み取るため。ロジックは何も問題ありませんが、後者は実際のデータを読んでいない、プログラムがこれを許可していませんが、途中、抜け出します。
最後に、出力フォーマットのタイトルは、次のに注意を払う必要があり、各シーケンス間の行間隔があります