結果
| 問題 | No.11 カードマッチ |
| コンテスト | |
| ユーザー |
37zigen
|
| 提出日時 | 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
37zigen