結果

問題 No.92 逃走経路
ユーザー jj
提出日時 2016-07-30 04:47:47
言語 Fortran
(gFortran 14.2.0)
結果
AC  
実行時間 82 ms / 5,000 ms
コード長 1,021 bytes
コンパイル時間 867 ms
コンパイル使用メモリ 34,380 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-06 20:16:39
合計ジャッジ時間 1,391 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

  integer*8::N,M,K,i,j,l
  integer*8,allocatable::road(:,:)
  integer*8,allocatable::keiro(:)
  integer*8,allocatable::han1(:),han2(:)
  integer*8::ryoukin, num
  read *,N,M,K
  allocate(road(3,M))
  allocate(keiro(K))
  allocate(han1(N))
  allocate(han2(N))
  read *, road
  read *, keiro

  han1 = 1
  han2 = 0

  do i=1, K
     ryoukin = keiro(i)
     do j=1, N
        if(han1(j).eq.1) then
           do l=1,M
              if(road(3,l).eq.ryoukin) then
                 if(road(1,l).eq.j) then
                    han2(road(2,l)) = 1
                 else if(road(2,l).eq.j) then
                    han2(road(1,l)) = 1
                 end if
              end if
           end do
        end if
     end do
     han1 = han2
     han2 = 0
  end do

  num = SUM(han1)
  print '(i0)', num
  do i=1,N
     if(han1(i).eq.1) then
        num = num - 1
        if(num.ne.0) then
           write(6,'(i0,a)',advance='no') i, " "
        else
           write(6,'(i0)') i
        end if
     end if
  end do

end program
0