結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-07-22 23:17:23 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 98 ms / 2,000 ms |
| コード長 | 474 bytes |
| コンパイル時間 | 109 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-12-26 06:14:32 |
| 合計ジャッジ時間 | 3,883 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
コンパイルメッセージ
Syntax OK
ソースコード
n=gets.to_i
if n==1
puts "001";exit
end
a=Array.new(n){Array.new(n)}
def right(vx,vy)
return [0,1] if vx==1
return [-1,0] if vy==1
return [0,-1] if vx==-1
return [1,0]
end
x=0;y=0;vx=1;vy=0;count=1
while (!a[y][x])
a[y][x]=count
count+=1
x+=vx;y+=vy
if x<0||y<0||n<=x||n<=y||a[y][x]!=nil
x-=vx;y-=vy
vx,vy=right(vx,vy)
x+=vx;y+=vy
end
end
a.each{|e| puts e.map{|f| sprintf("%03d",f)}*" " }