結果
| 問題 |
No.92 逃走経路
|
| コンテスト | |
| ユーザー |
jj
|
| 提出日時 | 2016-07-30 06:14:14 |
| 言語 | Fortran (gFortran 14.2.0) |
| 結果 |
AC
|
| 実行時間 | 5 ms / 5,000 ms |
| コード長 | 1,440 bytes |
| コンパイル時間 | 262 ms |
| コンパイル使用メモリ | 36,004 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-06 20:17:00 |
| 合計ジャッジ時間 | 988 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 18 |
ソースコード
program main
implicit none
integer*8::N,M,K,i,j,l,src,dest
integer*8,allocatable::road(:,:)
integer*8,allocatable::list(:,:,:)
integer*8,allocatable::listnum(:)
integer*8,allocatable::keiro(:)
integer*8,allocatable::han1(:),han2(:)
integer*8::ryoukin, num, tmp
read *,N,M,K
allocate(road(3,M))
allocate(list(2,N,M))
allocate(listnum(N))
allocate(keiro(K))
allocate(han1(N))
allocate(han2(N))
read *, road
read *, keiro
list = 0
listnum = 0
do i=1,M
src = road(1,i)
dest = road(2,i)
ryoukin = road(3,i)
listnum(src) = listnum(src) + 1
listnum(dest) = listnum(dest) + 1
list(1, src, listnum(src)) = dest
list(1, dest, listnum(dest)) = src
list(2, src, listnum(src)) = ryoukin
list(2, dest, listnum(dest)) = ryoukin
end do
han1 = 1
han2 = 0
do i=1, K
ryoukin = keiro(i)
do j=1, N
if(han1(j).eq.1) then
tmp = listnum(j)
do l=1, tmp
if(list(2,j,l).eq.ryoukin) then
han2(list(1,j,l)) = 1
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 main
jj