結果
| 問題 | No.429 CupShuffle | 
| コンテスト | |
| ユーザー |  jj | 
| 提出日時 | 2016-10-02 22:56:24 | 
| 言語 | Fortran (gFortran 14.2.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 68 ms / 2,000 ms | 
| コード長 | 862 bytes | 
| コンパイル時間 | 1,698 ms | 
| コンパイル使用メモリ | 33,740 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-21 13:25:47 | 
| 合計ジャッジ時間 | 1,538 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
ソースコード
program main
  implicit none
  integer::N,K,X,i,tmp
  character::q(2)
  integer,allocatable::A(:),B(:),C(:),cupi(:),cupf(:)
  logical::is_first=.true.
  read *,N,K,X
  allocate(A(K),B(K),C(N),cupi(N),cupf(N))
  do i=1,K
     if(i.eq.X) then
        read *,q
     else
        read *, A(i),B(i)
     end if
  end do
  cupi = (/(i,i=1,N)/)
  read *,cupf
! swap forward
  do i=1,X-1
     tmp = cupi(A(i))
     cupi(A(i)) = cupi(B(i))
     cupi(B(i)) = tmp
  end do
! swap backward
  do i=K,X+1,-1
     tmp = cupf(A(i))
     cupf(A(i)) = cupf(B(i))
     cupf(B(i)) = tmp
  end do
  do i=1,N
     if(cupi(i).ne.cupf(i))then
        if(is_first.eqv..true.) then
           is_first = .false.
           write (*,'(i0," ")',advance='no') i
        else
           write (*,'(i0)',advance='yes') i
           return
        end if
     end if
  end do
end program main
            
            
            
        