結果
問題 | No.43 野球の試合 |
ユーザー |
![]() |
提出日時 | 2017-01-29 04:12:38 |
言語 | Fortran (gFortran 14.2.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,162 bytes |
コンパイル時間 | 645 ms |
コンパイル使用メモリ | 36,276 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 22:41:01 |
合計ジャッジ時間 | 869 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 6 WA * 1 |
コンパイルメッセージ
Main.f90:96:30: 96 | write(cformat(5:9),'(i0)'),size(array) | 1 Warning: Legacy Extension: Comma before i/o item list at (1)
ソースコード
program mainimplicit noneinteger::N,i,j,tmp,winnum,num,minnumcharacter::ccharacter*6::S(6)integer*8,allocatable::games(:,:)integer*8,parameter::win=2,lose=0,self=9, none=1type gameinteger::a,bend type gametype(game)::yet(10)yet(:)%a=0yet(:)%b=0read *,Nallocate(games(1:N,1:N))read *,S(1:N)(1:N)do i=1,Ngames(i,i) = selfdo j=i+1,Nc = S(i)(j:j)if(c.eq.'o') thengames(i,j) = wingames(j,i) = loseelse if(c.eq.'x') thengames(i,j) = losegames(j,i) = winelse if(i.eq.1) thengames(i,j) = wingames(j,i) = loseelsegames(i,j) = nonegames(j,i) = noneend ifend doend dowinnum = COUNT(games(1,:).eq.win)do i=2, Ntmp = COUNT(games(i,:).eq.win)if(tmp.gt.winnum) thendo j=3, Nif(games(i,j).eq.none) thengames(i,j) = wingames(j,i) = loseend ifend doend ifend donum = 0do i=2, Ndo j=i+1, Nif(games(i,j).eq.none) thennum = num + 1yet(num)%a = iyet(num)%b = jend ifend doend doif(num.eq.0) thenprint '(i0)', get_grade()returnendifminnum = Ndo i=0, 2**num-1do j=0, num-1if(btest(i, j).eqv..true.) thengames(yet(j+1)%a,yet(j+1)%b) = wingames(yet(j+1)%b,yet(j+1)%a) = loseelsegames(yet(j+1)%a,yet(j+1)%b) = losegames(yet(j+1)%b,yet(j+1)%a) = winend ifend dominnum = MIN(minnum, get_grade())end doprint '(i0)', minnumcontainsfunction get_grade() result(w)integer::i,winteger::grades(0:N+1)grades = 0do i=2,Ngrades(COUNT(games(i,:).eq.win)) = 1end dow = SUM(grades(winnum+1:N+1)) + 1end function get_gradesubroutine aprinter(array)integer*8::array(:)character*32::cformat='(i0, (1x,i0))'write(cformat(5:9),'(i0)'),size(array)write(*,cformat) arrayend subroutine aprinterend program main