Submission #00183


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import java.util.*;
class Main{
static Scanner s=new Scanner(System.in);
static int gInt(){
return Integer.parseInt(s.next());
}
static long gLong(){
return Long.parseLong(s.next());
}
static int mod=1000000007;
public static void main(String[] $){
int w=gInt(),h=gInt();
long r=1;
int px=0,py=0;
for(int q=gInt();q>=0;--q){
int x=q>0?gInt():w-1;
int y=q>0?gInt():h-1;
r*=nCr(x+y-px-py,x-px);
r%=mod;
px=x;
py=y;
}
System.out.println(r);
}
static long nCr(int n,int r){
long v=1;
r=Math.min(r,n-r);
for(int i=1;i<=r;++i){
v*=n-r+i;
v%=mod;
v*=modpow(i,mod-2);
v%=mod;
}
return v;
}
static long modpow(long n,long a){
if(a==1)
return n;
if(a%2==0) {
long r=modpow(n,a/2);
return r*r%mod;
}
return modpow(n,a-1)*n%mod;
}
}

ステータス

項目 データ
問題 0006 - 寄り道
ユーザー名 fal_rnd
投稿日時 2018-11-24 15:13:48
言語 Java
状態 Accepted
得点 400
ソースコード長 858 Byte
最大実行時間 1053 ms
最大メモリ使用量 17276 KB

セット

セット 得点 Cases
1 ALL 400 / 400 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
input01.in AC 128 ms 15072 KB
1
input02.in AC 134 ms 15588 KB
1
input03.in AC 134 ms 15452 KB
1
input04.in AC 131 ms 15364 KB
1
input05.in AC 129 ms 15460 KB
1
input06.in AC 141 ms 15480 KB
1
input07.in AC 153 ms 15432 KB
1
input08.in AC 152 ms 15636 KB
1
input09.in AC 233 ms 17224 KB
1
input10.in AC 223 ms 15128 KB
1
input11.in AC 558 ms 15480 KB
1
input12.in AC 577 ms 15600 KB
1
input13.in AC 181 ms 17276 KB
1
input14.in AC 199 ms 15332 KB
1
input15.in AC 1053 ms 15636 KB
1
input16.in AC 987 ms 15284 KB
1
input17.in AC 1026 ms 15488 KB
1
input18.in AC 973 ms 15620 KB
1
input19.in AC 988 ms 15688 KB
1
input20.in AC 1012 ms 15296 KB
1
sample.in AC 127 ms 15508 KB
1