結果
問題 | No.326 あみだますたー |
ユーザー |
![]() |
提出日時 | 2017-01-08 13:31:26 |
言語 | Fortran (gFortran 14.2.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 896 bytes |
コンパイル時間 | 262 ms |
コンパイル使用メモリ | 34,300 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-17 18:00:46 |
合計ジャッジ時間 | 1,388 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 26 |
ソースコード
program main implicit none integer::N,K,i,j,l type bar integer::x,y end type bar integer::indx(100),pos(100),ans(100),anspos(100),temp type(bar)::bars(6000) data l/0/ read *,N,K if(K.gt.0) read *,bars(1:K) read *,anspos(1:N) indx = (/(i,i=1,N)/) do i=1,N ans(anspos(i)) = i end do do i=1,K temp = indx(bars(i)%y) indx(bars(i)%y) = indx(bars(i)%x) indx(bars(i)%x) = temp end do do i=1,N pos(indx(i)) = i end do ! print *, ans(1:N) ! print *, indx(1:N) do i=1,N if(indx(i).eq.ans(i)) cycle do j=pos(ans(i))-1,i,-1 l = l + 1 bars(l)%x = j bars(l)%y = j+1 pos(indx(j)) = pos(indx(j)) + 1 indx(j+1) = indx(j) end do indx(i) = ans(i) ! print *, indx(1:N) end do print '(i0)', l do i=1,l print '(i0," ",i0)',bars(i)%x,bars(i)%y end do end program main