Submission #11621602


Source Code Expand

program name
    implicit none
    integer(4):: h,w
    character(1),allocatable:: c(:,:)
    integer(4):: i,j, start(2), goal(2)
    logical,allocatable:: is_passed(:,:)

    read*, h,w
    allocate(c(w, h), is_passed(0:w+1, 0:h+1))

    block
        character(:),allocatable:: inpt_c
        allocate(character(w):: inpt_c)
        do i=1,h
            read*, inpt_c
            do j=1,w
                c(j,i) = inpt_c(j:j)
                if (c(j,i) == 's') start = [j,i]
                if (c(j,i) == 'g') goal = [j,i]
            end do
        end do
    end block
    
    is_passed(:,:) = .false.
    is_passed(0,:) = .true.
    is_passed(w+1,:) = .true.
    is_passed(:,0) = .true. 
    is_passed(:,h+1) = .true.

    if (dfs(start(1),start(2))) then
        print*, 'Yes'
    else
        print*, 'No'
    end if

contains
    recursive function dfs(nw,nh) result(ret)
        integer(4):: nw,nh
        logical:: ret
        integer:: dh,dw
        ret = .false.
        is_passed(nw,nh) = .true.
        do dh=-1,1
            do dw=-1,1
                if (dh/=0 .and. dw/=0) cycle
                if (is_passed(nw+dw, nh+dh)) cycle
                if (c(nw+dw, nh+dh) == 'g') then
                    ret = .true.
                    return
                end if

                if (c(nw+dw, nh+dh) == '.') then
                    ret = ret .or. dfs(nw+dw, nh+dh)
                else
                    ret = ret .or. .false.
                end if
            end do
        end do

    end function
end program name

Submission Info

Submission Time
Task A - 深さ優先探索
User Authns
Language Fortran (gfortran v4.8.4)
Score 100
Code Size 1598 Byte
Status AC
Exec Time 17 ms
Memory 14720 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 83
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt AC 1 ms 256 KB
00_min_02.txt AC 1 ms 256 KB
00_min_03.txt AC 1 ms 256 KB
00_min_04.txt AC 1 ms 256 KB
00_min_05.txt AC 1 ms 256 KB
00_min_06.txt AC 1 ms 256 KB
00_min_07.txt AC 1 ms 256 KB
00_min_08.txt AC 1 ms 256 KB
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
00_sample_04.txt AC 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
01_rnd_00.txt AC 5 ms 1408 KB
01_rnd_01.txt AC 17 ms 14720 KB
01_rnd_02.txt AC 9 ms 3968 KB
01_rnd_03.txt AC 14 ms 11264 KB
01_rnd_04.txt AC 7 ms 2944 KB
01_rnd_05.txt AC 5 ms 1408 KB
01_rnd_06.txt AC 13 ms 6144 KB
01_rnd_07.txt AC 14 ms 8320 KB
01_rnd_08.txt AC 5 ms 1408 KB
01_rnd_09.txt AC 5 ms 1408 KB
01_rnd_10.txt AC 10 ms 2304 KB
01_rnd_11.txt AC 5 ms 1408 KB
01_rnd_12.txt AC 17 ms 12160 KB
01_rnd_13.txt AC 9 ms 4736 KB
01_rnd_14.txt AC 5 ms 1408 KB
01_rnd_15.txt AC 7 ms 2048 KB
01_rnd_16.txt AC 5 ms 1408 KB
01_rnd_17.txt AC 12 ms 3072 KB
01_rnd_18.txt AC 5 ms 1408 KB
01_rnd_19.txt AC 7 ms 3456 KB
02_rndhard_00.txt AC 6 ms 1408 KB
02_rndhard_01.txt AC 5 ms 1408 KB
02_rndhard_02.txt AC 7 ms 1536 KB
02_rndhard_03.txt AC 7 ms 1536 KB
02_rndhard_04.txt AC 5 ms 1408 KB
02_rndhard_05.txt AC 5 ms 1408 KB
02_rndhard_06.txt AC 6 ms 1408 KB
02_rndhard_07.txt AC 5 ms 1408 KB
02_rndhard_08.txt AC 6 ms 1536 KB
02_rndhard_09.txt AC 6 ms 1536 KB
02_rndhard_10.txt AC 6 ms 1536 KB
02_rndhard_11.txt AC 6 ms 1536 KB
02_rndhard_12.txt AC 6 ms 1536 KB
02_rndhard_13.txt AC 6 ms 1536 KB
02_rndhard_14.txt AC 6 ms 1536 KB
02_rndhard_15.txt AC 6 ms 1536 KB
02_rndhard_16.txt AC 5 ms 1408 KB
02_rndhard_17.txt AC 6 ms 1408 KB
02_rndhard_18.txt AC 6 ms 1408 KB
02_rndhard_19.txt AC 6 ms 1408 KB
02_rndhard_20.txt AC 6 ms 1408 KB
02_rndhard_21.txt AC 6 ms 1408 KB
02_rndhard_22.txt AC 5 ms 1536 KB
02_rndhard_23.txt AC 6 ms 1536 KB
02_rndhard_24.txt AC 6 ms 1408 KB
02_rndhard_25.txt AC 6 ms 1408 KB
02_rndhard_26.txt AC 6 ms 1408 KB
02_rndhard_27.txt AC 5 ms 1408 KB
02_rndhard_28.txt AC 6 ms 1408 KB
02_rndhard_29.txt AC 6 ms 1408 KB
02_rndhard_30.txt AC 5 ms 1408 KB
02_rndhard_31.txt AC 5 ms 1408 KB
02_rndhard_32.txt AC 6 ms 1536 KB
02_rndhard_33.txt AC 6 ms 1536 KB
02_rndhard_34.txt AC 6 ms 1408 KB
02_rndhard_35.txt AC 6 ms 1408 KB
02_rndhard_36.txt AC 6 ms 1408 KB
02_rndhard_37.txt AC 6 ms 1408 KB
02_rndhard_38.txt AC 6 ms 1408 KB
02_rndhard_39.txt AC 6 ms 1408 KB
03_rndhardsmall_00.txt AC 1 ms 256 KB
03_rndhardsmall_01.txt AC 1 ms 256 KB
03_rndhardsmall_02.txt AC 1 ms 256 KB
03_rndhardsmall_03.txt AC 1 ms 256 KB
03_rndhardsmall_04.txt AC 1 ms 256 KB
03_rndhardsmall_05.txt AC 1 ms 256 KB
03_rndhardsmall_06.txt AC 1 ms 256 KB
03_rndhardsmall_07.txt AC 1 ms 256 KB
03_rndhardsmall_08.txt AC 1 ms 256 KB
03_rndhardsmall_09.txt AC 1 ms 256 KB