Submission #2543212
Source Code Expand
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <deque>
#include <iterator>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include <cmath>
#include <cstring>
using namespace std;
#define REPI(x) for(int i=0;i<x;i++)
#define REPJ(x) for(int j=0;j<x;j++)
#define SCANFD(x) scanf("%d",&x)
int H,W;
int cost[50][50];
char fld[50][51];
int xd[4] = {0,1,0,-1};
int yd[4] = {-1,0,1,0};
int check(int y,int x){
REPI(4){
if(x+xd[i]<0 || y+yd[i]<0 || y+yd[i]>=H || x+xd[i]>=W ){
continue;
}else if(fld[y+yd[i]][x+xd[i]] == '#'){
continue;
}else if(cost[y+yd[i]][x+xd[i]] > cost[y][x]+1 || cost[y+yd[i]][x+xd[i]] == -1){
cost[y+yd[i]][x+xd[i]] = cost[y][x] + 1;
check(y+yd[i],x+xd[i]);
}
}
return 0;
}
int main(){
int res,blk=0;
char buf;
REPI(50){
REPJ(50){
cost[i][j] = -1;
}
}
scanf("%d %d",&H,&W);
scanf("%c",&buf);
REPI(H){
fgets(fld[i],52,stdin);
}
cost[0][0] = 1;
check(0,0);
REPI(H){
REPJ(W){
if(fld[i][j] == '#')
blk++;
}
}
res = H*W - blk - cost[H-1][W-1];
printf("%d\n",res);
return 0;
}
Submission Info
Submission Time |
|
Task |
D - Grid Repainting |
User |
mosha1822 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1437 Byte |
Status |
WA |
Exec Time |
27 ms |
Memory |
384 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:53:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d",&H,&W);
^
./Main.cpp:54:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%c",&buf);
^
./Main.cpp:57:31: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fgets(fld[i],52,stdin);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
s1.txt, s2.txt |
All |
in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, s1.txt, s2.txt |
Case Name |
Status |
Exec Time |
Memory |
in01.txt |
AC |
1 ms |
256 KB |
in02.txt |
WA |
1 ms |
256 KB |
in03.txt |
AC |
1 ms |
256 KB |
in04.txt |
AC |
1 ms |
256 KB |
in05.txt |
AC |
1 ms |
256 KB |
in06.txt |
AC |
1 ms |
256 KB |
in07.txt |
AC |
1 ms |
256 KB |
in08.txt |
WA |
1 ms |
256 KB |
in09.txt |
AC |
1 ms |
256 KB |
in10.txt |
AC |
1 ms |
256 KB |
in11.txt |
AC |
1 ms |
256 KB |
in12.txt |
AC |
1 ms |
256 KB |
in13.txt |
AC |
1 ms |
256 KB |
in14.txt |
AC |
1 ms |
256 KB |
in15.txt |
AC |
16 ms |
384 KB |
in16.txt |
AC |
27 ms |
384 KB |
in17.txt |
AC |
16 ms |
384 KB |
in18.txt |
AC |
16 ms |
256 KB |
s1.txt |
AC |
1 ms |
256 KB |
s2.txt |
AC |
1 ms |
256 KB |