結果
| 問題 | No.11 カードマッチ | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2018-04-01 21:07:32 | 
| 言語 | Fortran (gFortran 14.2.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 1,170 bytes | 
| コンパイル時間 | 884 ms | 
| コンパイル使用メモリ | 32,512 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-26 05:47:17 | 
| 合計ジャッジ時間 | 1,823 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
recursive subroutine qsort(a,s,t)
      integer::a(*)
      integer::s,t
      integer::i,j,k,l,m,n
      
      if(t-s<=1)return
      
      i=s
      j=t-1
      
      m=a((s+t)/2)
      
      do
            do while(a(i)<m)
                  i=i+1
            end do
            do while(a(j)>m)
                  j=j-1
            end do
            if(i>=j)exit
            a(i)=xor(a(i),a(j))
            a(j)=xor(a(i),a(j))
            a(i)=xor(a(i),a(j))
            i=i+1
            j=j-1
      end do
      
      call qsort(a,s,i)
      call qsort(a,j+1,t)
end subroutine qsort
program main
      implicit none
      integer::i,j,k,l,m,cnt1=0,cnt2=0,N,W,H,a(1000000),b(1000000)
      integer::ans
      read*,W
      read*,H
      read*,N
      do i=1,N
            read(*,*)a(i),b(i)
      end do
      
      call qsort(a,1,N+1)
      call qsort(b,1,N+1)
      
      do i=1,N
            if(i+1<=N.and.a(i)==a(i+1))cycle
            cnt1=cnt1+1
      end do
      
      do i=1,N
            if(i+1<=N.and.b(i)==b(i+1))cycle
            cnt2=cnt2+1
      end do
      
      ans=H*W-(W-cnt1)*(H-cnt2)-N
      print*,ans
      
      
end program main
            
            
            
        