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
AC × 3
AC × 13
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