【二重ループメニュー】> 【活用編:三角形の探索】STEP: 1 行列の転置 (paizaランク D 相当) [難易度: 1415 ±14]
※リンク先へ移動するためには[paiza]へのログインが必要です。
N 行 K 列の行列 A の i 行 j 列 の要素 A_ij を A_ji とした K 行 N 列の行列を元の配列 A の転置行列と言います。
例として、
1 2 3
4 5 6
7 8 9
の転置行列は
1 4 7
2 5 8
3 6 9
です。
行列 A についての情報が与えられるので、A の転置行列を出力してください。
入力値(例)
2 3
1 2 3
4 5 6
出力値(例)
1 4
2 5
3 6
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php list($n, $k) = explode(" ", trim(fgets(STDIN))); for($i = 0; $i < $n; $i++) { $a[] = explode(" ", trim(fgets(STDIN))); } //print_r($a); for($i = 0; $i < $k; $i++) { for($j = 0; $j < $n; $j++) { if($j == $n - 1) { echo $a[$j][$i]. "\n"; } else { echo $a[$j][$i]. " "; } } } ?> |