2:40 AtCoderホームへ戻る
 トップ
 問題
 質問
 提出
 提出一覧
 順位表
 コードテスト
提出 #2467021

ソースコード 

Copy
Copy
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <math.h>
#include <queue>
#include <stack>
#include <list>
#include <functional>
#include <numeric>
#include <iostream>
 
using namespace std;
typedef long long ll;
#define rep(i, n) for (ll i = 0; i < (n); ++i)
 
int main(){
  int H, W;
  char S[123][123];
  scanf("%d %d", &H, &W);
  rep(i, H) scanf("%s", &S[i]);
  bool can = true;
  rep(i, H) rep(j, W){
    if(S[i][j] == '#'){
      if((i == 0 || S[i - 1][j] == '.') &&
         (i == H || S[i + 1][j] == '.') &&
         (j == 0 || S[i][j - 1] == '.') &&
         (j == W || S[i][j + 1] == '.')) can = false;
    }
  }
  if(can) printf("Yes\n");
  else printf("No\n");
  
  return 0;
}