結果
問題 | 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)}*" " }