/* ID: espr1t TASK: KEYWORDS: */ #include #include #include #include #include using namespace std; FILE *in; FILE *out; const int MAX = 1024; int n, m; char a[MAX][MAX]; int main(void) { in = stdin; out = stdout; in = fopen("barcode.in", "rt"); out = fopen("barcode.out", "wt"); fscanf(in, "%d %d", &n, &m); for (int i = 0; i < n; i++) fscanf(in, "%s", a[i]); for (int i = 0; i < m; i++) { if (!isdigit(a[n - 1][i])) { fprintf(out, "NO\n"); return 0; } } n--; for (int i = 0; i < n; i++) { for (int c = 0; c < m; c++) { if (isdigit(a[i][c])) { fprintf(out, "NO\n"); return 0; } } } for (int i = 0; i < m; i++) { if (a[0][i] == '.') { for (int c = 0; c < n; c++) { if (a[c][i] != '.') { fprintf(out, "NO\n"); return 0; } } } else { for (int c = 0; c < n; c++) { if (a[c][i] != '#') { fprintf(out, "NO\n"); return 0; } } } } fprintf(out, "YES\n"); return 0; }