Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
- int main ()
- {
- const int Nmax = 8, Mmax = 8;
- int S[Nmax][Mmax], spots = 0;
- int x = 0, y = 0;
- char ch;
- freopen ("chess.in", "r", stdin);
- freopen ("chess.out", "w", stdout);
- for (int i = 0; i < 8; i++)
- {
- for (int k = 0; k < 8; k++)
- {
- scanf ("%c", &ch);
- if (ch == 'R')
- S[i][k] = 3;
- else
- if (ch == 'B')
- S[i][k] = 2;
- else
- S[i][k] = 0;
- }
- scanf ("\n");
- }
- for (int i = 0; i <= 8; i++)
- for (int k = 0; k <= 8; k++)
- {
- if (S[i][k] == 3)
- {
- x = i;
- y = k;
- while (--y >= 0)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- y = k;
- while (++y <= 7)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- y = k;
- while (--x >= 0)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- x = i;
- while (++x <= 7)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- }
- else
- if (S[i][k] == 2)
- {
- x = i;
- y = k;
- while (--y >= 0 && --x >= 0)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- x = i;
- y = k;
- while (--y >= 0 && ++x <= 7)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- x = i;
- y = k;
- while (++y <= 7 && ++x <= 7)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- x = i;
- y = k;
- while (++y <= 7 && --x >= 0)
- if (S[x][y] == 0 || S[x][y] == 1)
- S[x][y] = 1;
- else
- break;
- }
- }
- for (int i = 0; i < 8; i++)
- for (int k = 0; k < 8; k++)
- if (S[i][k] == 0)
- spots++;
- printf ("%d", spots);
- return 0;
- }
Add Comment
Please, Sign In to add comment