結果
問題 | No.140 みんなで旅行 |
ユーザー |
|
提出日時 | 2018-04-21 18:42:51 |
言語 | Fortran (gFortran 14.2.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,197 bytes |
コンパイル時間 | 1,213 ms |
コンパイル使用メモリ | 33,152 KB |
実行使用メモリ | 8,184 KB |
最終ジャッジ日時 | 2024-06-27 05:27:05 |
合計ジャッジ時間 | 5,389 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 RE * 2 |
ソースコード
program main implicit none integer*8::n,f(0:1,0:555,0:555),i,j,k,ans integer*8,parameter::mo=1000000007 !f(i,j)=夫婦の揃っているグループがiグループ、揃っていないグループがjグループ read*,n do i=0,n do j=0,n f(0,i,j)=0 end do end do f(0,0,0)=1 block integer::cur,ne do i=1,n cur=mod(i-1,2) ne=mod(cur+1,2) do j=0,j do k=0,n f(ne,j,k)=0 end do end do do j=0,n do k=0,n if(f(cur,j,k)==0)cycle f(ne,j,k)=mod(f(ne,j,k)+f(cur,j,k)*j*j+f(cur,j,k)*k*(k-1)+f(cur,j,k)*k*j*2,mo) f(ne,j+1,k)=mod(f(ne,j+1,k)+f(cur,j,k),mo) f(ne,j,k+1)=mod(f(ne,j,k+1)+f(cur,j,k)*(j+k)*2,mo) f(ne,j,k+2)=mod(f(ne,j,k+2)+f(cur,j,k),mo) if(k>0)f(ne,j+1,k-1)=mod(f(ne,j+1,k-1)+f(cur,j,k)*k,mo) end do end do end do end block ans=0 do i=1,n ans=mod(ans+f(mod(n,2),i,0),mo) end do print*,ans end program