Guest User

Untitled

a guest
Jan 19th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4. int main ()
  5.  
  6. {
  7. const int Nmax = 8, Mmax = 8;
  8. int S[Nmax][Mmax], spots = 0;
  9. int x = 0, y = 0;
  10. char ch;
  11. freopen ("chess.in", "r", stdin);
  12. freopen ("chess.out", "w", stdout);
  13. for (int i = 0; i < 8; i++)
  14. {
  15. for (int k = 0; k < 8; k++)
  16. {
  17. scanf ("%c", &ch);
  18. if (ch == 'R')
  19. S[i][k] = 3;
  20. else
  21. if (ch == 'B')
  22. S[i][k] = 2;
  23. else
  24. S[i][k] = 0;
  25. }
  26. scanf ("\n");
  27. }
  28. for (int i = 0; i <= 8; i++)
  29. for (int k = 0; k <= 8; k++)
  30. {
  31. if (S[i][k] == 3)
  32. {
  33. x = i;
  34. y = k;
  35. while (--y >= 0)
  36. if (S[x][y] == 0 || S[x][y] == 1)
  37. S[x][y] = 1;
  38. else
  39. break;
  40. y = k;
  41. while (++y <= 7)
  42. if (S[x][y] == 0 || S[x][y] == 1)
  43. S[x][y] = 1;
  44. else
  45. break;
  46. y = k;
  47. while (--x >= 0)
  48. if (S[x][y] == 0 || S[x][y] == 1)
  49. S[x][y] = 1;
  50. else
  51. break;
  52. x = i;
  53. while (++x <= 7)
  54. if (S[x][y] == 0 || S[x][y] == 1)
  55. S[x][y] = 1;
  56. else
  57. break;
  58. }
  59. else
  60. if (S[i][k] == 2)
  61. {
  62. x = i;
  63. y = k;
  64. while (--y >= 0 && --x >= 0)
  65. if (S[x][y] == 0 || S[x][y] == 1)
  66. S[x][y] = 1;
  67. else
  68. break;
  69. x = i;
  70. y = k;
  71. while (--y >= 0 && ++x <= 7)
  72. if (S[x][y] == 0 || S[x][y] == 1)
  73. S[x][y] = 1;
  74. else
  75. break;
  76. x = i;
  77. y = k;
  78. while (++y <= 7 && ++x <= 7)
  79. if (S[x][y] == 0 || S[x][y] == 1)
  80. S[x][y] = 1;
  81. else
  82. break;
  83. x = i;
  84. y = k;
  85. while (++y <= 7 && --x >= 0)
  86. if (S[x][y] == 0 || S[x][y] == 1)
  87. S[x][y] = 1;
  88. else
  89. break;
  90. }
  91. }
  92. for (int i = 0; i < 8; i++)
  93. for (int k = 0; k < 8; k++)
  94. if (S[i][k] == 0)
  95. spots++;
  96. printf ("%d", spots);
  97. return 0;
  98. }
Add Comment
Please, Sign In to add comment