Submission #1177996
Source Code Expand
#include <cstdio>
#include <iostream>
#define MAX_H 1005
#define MAX_W 1005
#define MOD 1000000007
using namespace std;
int dp[MAX_W][MAX_H] = {0};
int a[MAX_W][MAX_H] = {0};
int H,W;
bool is_move = false;
int rec(int i,int j){
if(i < -1 || j < -1 || i > W || j > H) return 0;
if(dp[i][j] > 0) return dp[i][j];
is_move = false;
if(i-1>=0){
if(a[i][j] < a[i-1][j]){
dp[i][j] += (rec(i-1,j));
is_move = true;
}
}
if(i+1 <= W-1){
if(a[i][j] < a[i+1][j]) {
dp[i][j] += (rec(i+1,j));
is_move = true;
}
}
if(j-1 >= 0){
if(a[i][j] < a[i][j-1]){
dp[i][j] += (rec(i,j-1));
is_move = true;
}
}
if(j+1 <= H-1){
if(a[i][j] < a[i][j+1]){
dp[i][j] += (rec(i,j+1));
is_move = true;
}
}
if(is_move==false) dp[i][j] = 1;
else dp[i][j] += 1;
return dp[i][j];
}
int main(){
scanf("%d %d", &H,&W);
for(int h = 0; h< H;h++){
for(int w = 0; w < W; w++){
scanf("%d",&a[w][h]);
}
}
int ans = 0;
for(int h = 0; h< H;h++){
for(int w = 0; w < W; w++){
rec(w,h);
}
}
for(int h = 0; h < H; h++){
for(int w = 0; w < W; w++){
ans = (ans + dp[w][h] ) % MOD;
}
}
printf("%d\n",ans);
}
Submission Info
Submission Time |
|
Task |
D - 経路 |
User |
grun1396 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1467 Byte |
Status |
WA |
Exec Time |
190 ms |
Memory |
70272 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:48:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &H,&W);
^
./Main.cpp:52:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&a[w][h]);
^
Judge Result
Set Name |
sample |
All |
Score / Max Score |
0 / 0 |
0 / 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 |
WA |
131 ms |
8192 KB |
01.txt |
WA |
190 ms |
70272 KB |
02.txt |
AC |
103 ms |
8064 KB |
03.txt |
AC |
2 ms |
2304 KB |
04.txt |
AC |
2 ms |
2304 KB |
05.txt |
AC |
2 ms |
4736 KB |
06.txt |
AC |
4 ms |
8064 KB |
07.txt |
AC |
3 ms |
6400 KB |
08.txt |
AC |
2 ms |
2304 KB |
09.txt |
AC |
2 ms |
2304 KB |
10.txt |
AC |
2 ms |
4480 KB |
11.txt |
AC |
156 ms |
8064 KB |
12.txt |
AC |
157 ms |
8064 KB |
13.txt |
AC |
158 ms |
8064 KB |
14.txt |
AC |
157 ms |
8064 KB |
15.txt |
WA |
150 ms |
8192 KB |
16.txt |
AC |
157 ms |
8064 KB |
17.txt |
AC |
157 ms |
8064 KB |
18.txt |
AC |
113 ms |
8064 KB |
19.txt |
AC |
97 ms |
8064 KB |
sample01.txt |
AC |
2 ms |
2304 KB |
sample02.txt |
AC |
2 ms |
2304 KB |