Submission #3000765
Source Code Expand
#include "bits/stdc++.h" using namespace std; typedef long long ll; #define INF (1<<30) #define INFLL (1ll<<60) typedef pair<int, int> P; typedef pair<int, P> E; #define MOD (1000000007ll) #define l_ength size void mul_mod(ll& a, ll b){ a *= b; a %= MOD; } void add_mod(ll& a, ll b){ b += MOD; a += b; a %= MOD; } bool done[1234][1234]; ll memo[1234][1234],a[1234][1234]; ll solve(int i, int j){ if(done[i][j]){ return memo[i][j]; } done[i][j] = true; if(a[i][j] < 0ll){ memo[i][j] = 0ll; return memo[i][j]; } memo[i][j] = 1ll; if(a[i-1][j] > a[i][j]){ add_mod(memo[i][j],solve(i-1,j)); } if(a[i][j-1] > a[i][j]){ add_mod(memo[i][j],solve(i,j-1)); } if(a[i][j+1] > a[i][j]){ add_mod(memo[i][j],solve(i,j+1)); } if(a[i+1][j] > a[i][j]){ add_mod(memo[i][j],solve(i+1,j)); } return memo[i][j]; } int main(void){ int h,w,i,j; ll ans=0ll; fill(a[0],a[1234],-1ll); cin >> h >> w; for(i=1; i<=h; ++i){ for(j=1; j<=w; ++j){ cin >> a[i][j]; } } for(i=1; i<=h; ++i){ for(j=1; j<=w; ++j){ add_mod(ans,solve(i,j)); } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 経路 |
User | ransewhale |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1170 Byte |
Status | AC |
Exec Time | 426 ms |
Memory | 71808 KB |
Judge Result
Set Name | sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sample | sample01.txt, sample02.txt |
All | 00.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, sample01.txt, sample02.txt, sample01.txt, sample02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00.txt | AC | 256 ms | 25472 KB |
01.txt | AC | 344 ms | 71808 KB |
02.txt | AC | 171 ms | 25216 KB |
03.txt | AC | 5 ms | 14592 KB |
04.txt | AC | 5 ms | 14592 KB |
05.txt | AC | 5 ms | 14592 KB |
06.txt | AC | 5 ms | 14592 KB |
07.txt | AC | 5 ms | 14592 KB |
08.txt | AC | 5 ms | 14592 KB |
09.txt | AC | 5 ms | 14592 KB |
10.txt | AC | 6 ms | 16640 KB |
11.txt | AC | 426 ms | 25216 KB |
12.txt | AC | 420 ms | 25216 KB |
13.txt | AC | 419 ms | 25216 KB |
14.txt | AC | 419 ms | 25216 KB |
15.txt | AC | 372 ms | 25344 KB |
16.txt | AC | 420 ms | 25216 KB |
17.txt | AC | 420 ms | 25216 KB |
18.txt | AC | 175 ms | 25344 KB |
19.txt | AC | 160 ms | 25216 KB |
sample01.txt | AC | 5 ms | 14592 KB |
sample02.txt | AC | 5 ms | 14592 KB |