2020/09/27 日 15:16
座標系での規則的な移動
paizaのAランクレベルアップ問題「座標系での規則的な移動」
けっこ~コードをかんがえるのがむずかしかったぁ~・・
1つもifやループをつかわずにけ~さんだけでできたぞぉo(*^▽^*)o~♪
checkIOってサイトでやったSquare Spiralってもんだいににてますd(^-^)ネ!
けっこ~コードをかんがえるのがむずかしかったぁ~・・
1つもifやループをつかわずにけ~さんだけでできたぞぉo(*^▽^*)o~♪
checkIOってサイトでやったSquare Spiralってもんだいににてますd(^-^)ネ!
my @cordb = (
[-1, 1], [1, 1], [1, -1], [-1, 1]
);
my @direc = (
[ 1, 0], [0, -1], [-1, 0], [0, 1]
);
my $input_line = ;
chomp $input_line;
my ($x, $y, $N) = split(/ /, $input_line);
$circuit = int((sqrt($N) + 1) / 2);
$pos_of_c = $N - ($circuit * 2 - 1) ** 2;
$pos_of_d = int($pos_of_c / ($circuit * 2));
$pos_of_e = $pos_of_c % ($circuit * 2);
$oy = $y + $cordb[$pos_of_d][0] * $circuit + $direc[$pos_of_d][0] * ($pos_of_e + 1);
$ox = $x + $cordb[$pos_of_d][1] * $circuit + $direc[$pos_of_d][1] * ($pos_of_e + 1);
print $ox.' '.$oy."\n";
コメント☆