Submission #6107017
Source Code Expand
#include <iostream>
using namespace std;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
int check_sharp(string *S,
const int h,
const int w,
const int i,
const int j,
int &d){
if(d==4) return 1;
const int ni = i + dy[d];
const int nj = j + dx[d];
if(ni<0 or h<=ni){
++d;
return check_sharp(S, h, w, i, j, d);
}else if(nj<0 or w<=nj){
++d;
return check_sharp(S, h, w, i, j, d);
}
if(S[ni][nj]=='#'){
return 0;
}else{
++d;
return check_sharp(S, h, w, i, j, d);
}
}
int main(){
int h, w;
cin >> h >> w;
string s[h];
for(int i=0; i<h; i++) cin >> s[i];
for (int i = 0; i < h; ++i) {
for (int j = 0; j < w; ++j) {
if (s[i][j] =='#'){
int d = 0;
int ans;
ans = check_sharp(s, h, w, i, j, d);
if(ans==1){
cout << "No" << endl;
return 0;
}
}
}
}
cout << "Yes" << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Grid Repainting 2 |
User |
Takuma6 |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
1079 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
300 / 300 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, sample_01.txt, sample_02.txt, sample_03.txt |
Case Name |
Status |
Exec Time |
Memory |
in01.txt |
AC |
1 ms |
256 KB |
in02.txt |
AC |
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 |
AC |
1 ms |
256 KB |
in09.txt |
AC |
1 ms |
256 KB |
in10.txt |
AC |
1 ms |
256 KB |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |