結果
問題 | No.401 数字の渦巻き |
ユーザー |
![]() |
提出日時 | 2016-07-22 23:14:36 |
言語 | Fortran (gFortran 14.2.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 805 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 33,232 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 09:21:56 |
合計ジャッジ時間 | 1,091 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
integer::N integer,allocatable::num(:,:) integer::dim,itr,offset character*32::cformat='(i0.3, i4.3)' read*,N allocate(num(N,N)) if (N.eq.1) then print '(a)',"001" return end if ! even offset = 0 do itr=1,N/2 dim = N-itr*2+1 do i=itr, itr+dim-1 num(i,itr) = offset+i end do offset = offset + dim do i=itr, itr+dim-1 num(N-itr+1,i) = offset + i end do offset = offset + dim do i=itr, itr+dim-1 num(N-i+1,N-itr+1) = offset + i end do offset = offset + dim do i=itr, itr+dim-1 num(itr,N-i+1) = offset + i end do offset=offset + dim - 1 end do if ( mod(N,2) .eq. 1) then num(N/2+1,N/2+1)=N*N end if write (cformat(7:8),'(i2)') N-1 print cformat,num end program