【標準出力メニュー】> FINAL問題【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な 2 次元配列の出力 (paizaランク B 相当) [難易度: 1483 ±14]
※リンク先へ移動するためには[paiza]へのログインが必要です。
自然数 N, M と N 個の自然数からなる数列 A と M 個の自然数からなる数列 B が与えられます。1 行目には数列 A の最初の B_1 個の値を出力し、 2 行目にはその次から B_2 個の値を出力します。このように、i 行目には数列 A の 1 + B_1 + B_2 + ... + B_{i - 1} 番目の値から B_i 個の値を出力してください。言い換えると、数列 A の値を B_1 個、B_2個、... B_M 個で分割し、それぞれの数列を改行区切りで出力してください。
入力値(例)
10 4
1 2 3 4 5 6 7 8 9 10
2 6 1 1
出力値(例)
1 2
3 4 5 6 7 8
9
10
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php list($n, $m) = explode(" ", trim(fgets(STDIN))); $a = explode(" ", trim(fgets(STDIN))); $b = explode(" ", trim(fgets(STDIN))); $counter = 0; for($i = 0; $i < $m; $i++) { for($j = 0; $j < $b[$i]; $j++) { echo $a[$counter]; $counter++; if($j != $b[$i] - 1) { echo " "; } else { echo "\n"; } } } ?> |