- 675 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 01:08:57.36 ID:vRIsxo2e.net]
- >>602 Perl5
$s = '>>>>>vvvvv<<<<^^^^'; ($i, $y) = (0, 0); for (split'',$s) { $i++ if />/; $i-- if /</; $j++ if /v/; $j-- if /\^/; push @t, [$i, $j, $_]; } use List::Util qw{min max}; ($i, $j) = (min(map{$$_[0]} @t), min(map{$$_[1]} @t)); $$_[0] -= $i, $$_[1] -= $j for @t; ($i, $j) = (max(map{$$_[0]} @t), max(map{$$_[1]} @t)); push @m, [('*')x($i + 1)] for 0..$j; $m[$$_[1]][$$_[0]] = $$_[2] for @t; use feature say; say @$_ for @m; 実行結果 ~ $ perl 13_601.pl >>>>> ^***v ^***v ^***v ^***v <<<<v
|

|