Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.63 KB | None | 0 0
  1.     #include <stdio.h>
  2.     #include <stdlib.h>
  3.      
  4.     int main() {
  5.             unsigned int m, n, i, j, maxX = 0, maxO = 0, now;
  6.             int k, l;
  7.             char **buf, *temp, nowch;
  8.             scanf("%d %d", &m, &n);
  9.             temp = (char *)malloc(2 * n);
  10.             buf = (char **)malloc(m * sizeof(char*));
  11.             buf[0] = (char *)malloc(n);
  12.             for (i = 0, j = 0; ; j++) {
  13.                     while ((nowch = getchar()) != '1' && nowch != '0');
  14.                     buf[i][j] = nowch;
  15.                     if (j == n - 1) {
  16.                             i++;
  17.                             if (i == m) break;
  18.                             buf[i] = (char *)malloc(n);
  19.                             j = -1;
  20.                     }
  21.             }
  22.             for (j = 0; j < n; j++) {
  23.                     for (i = 0; i < m; i++) {
  24.                             nowch = buf[i][j];
  25.                             for (now = 0, k = i; k < m && buf[k][j] == nowch; k++, now++);
  26.                             if (nowch == '0') {
  27.                                     if (now > maxO) maxO = now;
  28.                             } else if (now > maxX) maxX = now;
  29.                             for (now = 0, k = i; k >= 0 && buf[k][j] == nowch; k--, now++);
  30.                             if (nowch == '0') {
  31.                                     if (now > maxO) maxO = now;
  32.                             } else if (now > maxX) maxX = now;
  33.                             for (now = 0, l = j; l < n && buf[i][l] == nowch; l++, now++);
  34.                             if (nowch == '0') {
  35.                                     if (now > maxO) maxO = now;
  36.                             } else if (now > maxX) maxX = now;
  37.                             for (now = 0, l = j; l >= 0 && buf[i][l] == nowch; l--, now++);
  38.                             if (nowch == '0') {
  39.                                     if (now > maxO) maxO = now;
  40.                             } else if (now > maxX) maxX = now;
  41.                             for (now = 0, k = i, l = j; l < n && k < m && buf[k][l] == nowch; k++, l++, now++);
  42.                             if (nowch == '0') {
  43.                                     if (now > maxO) maxO = now;
  44.                             } else if (now > maxX) maxX = now;
  45.                             for (now = 0, k = i, l = j; l >= 0 && k >= 0 && buf[k][l] == nowch; k--, l--, now++);
  46.                             if (nowch == '0') {
  47.                                     if (now > maxO) maxO = now;
  48.                             } else if (now > maxX) maxX = now;
  49.                     }
  50.             }
  51.             printf("%d %d", maxX, maxO);
  52.             return 0;
  53.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement