結果

問題 No.360 増加門松列
ユーザー jj
提出日時 2016-10-13 23:58:25
言語 Fortran
(gFortran 14.2.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,981 bytes
コンパイル時間 623 ms
コンパイル使用メモリ 33,732 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-24 04:35:34
合計ジャッジ時間 1,242 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

program main
  implicit none
  integer::i1,i2,i3,i4,i5,i6,i7,D(7),dd(7),flag,j
  read *,D
  do i1=1,7
     do i2=1,7
        if(i1.eq.i2) cycle
        do i3=1,7
           if(i1.eq.i3) cycle
           if(i2.eq.i3) cycle
           do i4=1,7
              if(i1.eq.i4) cycle
              if(i2.eq.i4) cycle
              if(i3.eq.i4) cycle
              do i5=1,7
                 if(i1.eq.i5) cycle
                 if(i2.eq.i5) cycle
                 if(i3.eq.i5) cycle
                 if(i4.eq.i5) cycle
                 do i6=1,7
                    if(i1.eq.i6) cycle
                    if(i2.eq.i6) cycle
                    if(i3.eq.i6) cycle
                    if(i4.eq.i6) cycle
                    if(i5.eq.i6) cycle
                    do i7=1,7
                       if(i1.eq.i7) cycle
                       if(i2.eq.i7) cycle
                       if(i3.eq.i7) cycle
                       if(i4.eq.i7) cycle
                       if(i5.eq.i7) cycle
                       if(i6.eq.i7) cycle

                       dd(1)=D(i1)
                       dd(2)=D(i2)
                       dd(3)=D(i3)
                       dd(4)=D(i4)
                       dd(5)=D(i5)
                       dd(6)=D(i6)
                       dd(7)=D(i7)

                       if(is_kadomatsu(dd))then
                          print '(a)', "YES"
                          return
                       end if
                    end do
                 end do
              end do
           end do
        end do
     end do
  end do
  print '(a)', "NO"
contains
  logical function is_kadomatsu(dd) result(l)
    integer::dd(7),i
!    print *,dd
    do i=1,5
       if(dd(i).lt.dd(i+2).and. &
            ((dd(i).gt.dd(i+1).and.dd(i+2).gt.dd(i+1)).or. &
            (dd(i).lt.dd(i+1).and.dd(i+2).lt.dd(i+1))) ) then
          continue
       else
          l = .false.
          return
       end if
    end do
    l = .true.
  end function is_kadomatsu
end program main

0