| Task: | Grid Paths II |
| Sender: | israil1601 |
| Submission time: | 2020-09-19 15:57:02 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.10 s | details |
| #2 | ACCEPTED | 0.09 s | details |
| #3 | ACCEPTED | 0.09 s | details |
| #4 | ACCEPTED | 0.09 s | details |
| #5 | ACCEPTED | 0.10 s | details |
| #6 | TIME LIMIT EXCEEDED | -- | details |
| #7 | TIME LIMIT EXCEEDED | -- | details |
| #8 | TIME LIMIT EXCEEDED | -- | details |
| #9 | TIME LIMIT EXCEEDED | -- | details |
| #10 | TIME LIMIT EXCEEDED | -- | 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: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000 1000 332974 646000 669874 23872 662362 92533 670177 367382 ... |
| correct output |
|---|
| 476425733 |
| user output |
|---|
| (empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000 1000 474616 793877 452016 207512 940198 719201 162471 997296 ... |
| correct output |
|---|
| 757933231 |
| user output |
|---|
| (empty) |
Test 8
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000 1000 125814 37785 523915 416397 246681 345297 635386 245404 ... |
| correct output |
|---|
| 672607703 |
| user output |
|---|
| (empty) |
Test 9
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000 1000 468197 471455 970002 408761 420246 765021 8126 930827 ... |
| correct output |
|---|
| 138494458 |
| user output |
|---|
| (empty) |
Test 10
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000 1000 837278 905086 893778 245584 867013 721507 404988 868333 ... |
| correct output |
|---|
| 796948966 |
| user output |
|---|
| (empty) |
