CSES - E4590 2020 2 - Results
Submission details
Task:Grid Paths II
Sender:israil1601
Submission time:2020-09-19 15:57:02 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.10 sdetails
#2ACCEPTED0.09 sdetails
#3ACCEPTED0.09 sdetails
#4ACCEPTED0.09 sdetails
#5ACCEPTED0.10 sdetails
#6--details
#7--details
#8--details
#9--details
#10--details

Code

n,m = map(int, input().split())
if(n==1):
print(1)
d = {}
for i in range(m):
t = input()
d[t]=1
g=[[0] for x in range(n)]
for i in range(1,n):
if("{} {}".format(i+1, 1) not in d):
g[i][0]=1
else:
g[i][0]= -1
break
l=1
for i in range(1, n):
if ("{} {}".format(1, i+1) not in d):
g[0].append(l)
else:
g[0].append(-1)
l=0
for y in range(1,n):
for x in range(1,n):
if ("{} {}".format(y+1, x+1) in d):
g[y].append(-1)
continue
g[y].append(0)
if g[y-1][x]>-1:
g[y][x]+=g[y-1][x]
if g[y][x-1]>-1:
g[y][x]+=g[y][x-1]
print(g[n-1][n-1]%(10**9 + 7))
# n,m = map(int, input().split())
# if(n==1):
# print(1)
# d={}
# for i in range(m):
# y=input()
# d[y] = True
# def r(y,x):
# if(y==n and x==n):
# return 1
# if("{} {}".format(y-1,x-1) in d):
# return 0
# return r(y+1, x) + r(y, x+1)
# print(r(0, 0))

Test details

Test 1

Verdict: ACCEPTED

input
100 1000
41 11
11 24
51 72
47 31
...

correct output
342758070

user output
342758070

Test 2

Verdict: ACCEPTED

input
100 1000
83 37
24 1
52 42
86 36
...

correct output
919249325

user output
919249325

Test 3

Verdict: ACCEPTED

input
100 1000
99 28
16 31
92 41
39 65
...

correct output
12649242

user output
12649242

Test 4

Verdict: ACCEPTED

input
100 1000
5 47
32 1
27 70
86 39
...

correct output
466313473

user output
466313473

Test 5

Verdict: ACCEPTED

input
100 1000
14 28
63 16
15 54
68 18
...

correct output
525088588

user output
525088588

Test 6

Verdict:

input
1000000 1000
332974 646000
669874 23872
662362 92533
670177 367382
...

correct output
476425733

user output
(empty)

Test 7

Verdict:

input
1000000 1000
474616 793877
452016 207512
940198 719201
162471 997296
...

correct output
757933231

user output
(empty)

Test 8

Verdict:

input
1000000 1000
125814 37785
523915 416397
246681 345297
635386 245404
...

correct output
672607703

user output
(empty)

Test 9

Verdict:

input
1000000 1000
468197 471455
970002 408761
420246 765021
8126 930827
...

correct output
138494458

user output
(empty)

Test 10

Verdict:

input
1000000 1000
837278 905086
893778 245584
867013 721507
404988 868333
...

correct output
796948966

user output
(empty)