問題一覧 > 通常問題

No.30 たこやき工場

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 168
作問者 : なお
3 ProblemId : 2 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2015-11-14 17:47:10

問題文

太郎君はとある工場を建てようとしています。
効率よく生産するためには、材料を計画的に購入しなければなりません。
この工場では、最終的に製造したい製品を 製品番号N とし、
製品番号1N1 の中間素材となる製品を取り扱います。

製品番号1N1 の製品は、外部から購入するか、
またはこの工場で製造するかのどちらかにより手に入るものとします。
また、最終製品Nも含め製造することが出来る製品は、外部から購入せずに必ず製造するものとします。

入力に、各製品番号(1N)の製造方法(材料の製品番号・個数と、その材料から1個製造できる製品番号)
が与えられるので、最終製品N1個作るために、外部から購入する必要のある最小の個数を
1N1番の 製品番号ごとにそれぞれ1行で出力してください。

製品iの製造方法が複数書かれている場合は、それらすべての材料が必要です。
製品Nを製造するための製造方法は必ず与えられます。

入力

N
M
P1 Q1 R1
P2 Q2 R2

PM QM RM

1行目に、製品の種類数を表す整数 N (2N100) が与えられる。
2行目に、製造方法の数を表す整数 M (1M1500) が与えられる。
続くM行に、製造方法を表す3つの整数、材料の製品番号Pi、材料の個数Qi、製造する製品番号Riがスペース区切りで与えられる。
1Pi<N1Qi1001RiN

1iMij ならば (Pi,Ri)(Pj,Rj)
すべてのRiについて、
Riの材料(および材料の材料、…)としてRi自身を必要とすることはありません。

出力

製品番号1 の購入数(S1)
製品番号2 の購入数(S2)

製品番号i の購入数(Si)

製品番号N1 の購入数(SN1)

となるように N1行出力してください。行の末尾には改行を出力してください。
Si4294967295(2321)を超えることはありません。

サンプル

サンプル1
入力
2
1
1 5 2
出力
5

製造方法の数は1つだけで、最終製品(番号2)を作るためには、
中間素材(番号1)の材料が5個必要です。
番号1は製造できないので、これを5個購入すると出力すれば正解です。

サンプル2
入力
4
3
1 1 2
2 3 4
3 1 4
出力
3
0
1

最終製品(番号4)を作るためには、製品23個と、製品31個必要になります。
製品2は製品1から製造できるので、最終的に、製品13個と製品31個必要となります。
購入しない製品は0を出力する必要があります。

サンプル3
入力
9
10
1 11 2
7 12 8
8 13 1
2 14 9
8 15 9
8 16 4
3 17 4
4 18 5
5 19 9
2 20 4
出力
0
0
5814
0
0
0
11827308
0

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。