Advertisement
OMEGAHEAD_MonkoX

CHESS PLAYERS ARE AMAZING

Nov 2nd, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. #include <valarray>
  5. #include <string>
  6. #include <algorithm>
  7. #include <sstream>
  8. #include <set>
  9. using namespace std;
  10. int main()
  11. {
  12.     long long int summ,k,n,i,j,m,ma,c,o,x,c1,i1,i2,i3,j1,j2,mi,q,OMEGAHEAD;
  13.     vector < vector<char>> a(8, vector<char>(8,'*'));
  14.     set < vector<long long int>> st;
  15.     vector<vector<long long int>> b(999999,vector<long long int>(2));
  16.     for (i=0;i<8;++i)
  17.         for (j=0;j<8;++j)
  18.             cin >> a[i][j];
  19.     q=0;
  20.     OMEGAHEAD=0;
  21.     k=0;
  22.     for (i=0;i<8;++i)
  23.     {
  24.         for (j=0;j<8;++j)
  25.         {
  26.             if (a[i][j]=='B')
  27.             {
  28.                 ++OMEGAHEAD;
  29.                 q=0;
  30.                 while(1==1)
  31.                 {
  32.                     if ((i+q)<8 & (j+q)<8)
  33.                     {
  34.                         b[k][0]=i+q;
  35.                         b[k][1]=j+q;
  36.                         ++k;
  37.                         ++q;
  38.                         if ((a[i+q-1][j+q-1]=='B' || a[i+q-1][j+q-1]=='R')& q!=1)
  39.                             break;
  40.                     }
  41.                     else
  42.                         break;
  43.                 }
  44.                 q=0;
  45.                 while (1==1)
  46.                 {
  47.                     if ((i+q)<8 & (j-q)>=0)
  48.                     {
  49.                         b[k][0]=i+q;
  50.                         b[k][1]=j-q;
  51.                         ++k;
  52.                         ++q;
  53.                         if ((a[i+q-1][j-q+1]=='B' || a[i+q-1][j-q+1]=='R')& q!=1)
  54.                             break;
  55.                     }
  56.                     else
  57.                         break;
  58.                 }
  59.                 q=0;
  60.                 while (1==1)
  61.                 {
  62.                     if((i-q)>=0 & (j-q)>=0)
  63.                     {
  64.                         b[k][0]=i-q;
  65.                         b[k][1]=j-q;
  66.                         ++k;
  67.                         ++q;
  68.                         if ((a[i-q+1][j-q+1]=='B' || a[i-q+1][j-q+1]=='R')& q!=1)
  69.                             break;
  70.                     }
  71.                     else
  72.                         break;
  73.                 }
  74.                 q=0;
  75.                 while (1==1)
  76.                 {
  77.                     if ((i-q)>=0 & (j+q)<8)
  78.  
  79.                     {
  80.                         b[k][0]=i-q;
  81.                         b[k][1]=j+q;
  82.                         ++k;
  83.                         ++q;
  84.                         if ((a[i-q+1][j+q-1]=='B' || a[i-q+1][j+q-1]=='R')& q!=1)
  85.                             break;
  86.                     }
  87.                     else
  88.                         break;
  89.                 }
  90.             }
  91.             if (a[i][j]=='R')
  92.             {
  93.                 ++OMEGAHEAD;
  94.                 q=0;
  95.                 while(1==1)
  96.                 {
  97.                     if(j+q<8)
  98.                     {
  99.                         b[k][0]=i;
  100.                         b[k][1]=j+q;
  101.                         ++k;
  102.                         ++q;
  103.                         if ((a[i][j+q-1]=='B' || a[i][j+q-1]=='R')& q!=1)
  104.                             break;
  105.                     }
  106.                     else
  107.                         break;
  108.                 }
  109.                 q=0;
  110.                 while (1==1)
  111.                 {
  112.                     if(j-q>=0)
  113.                     {
  114.                         b[k][0]=i;
  115.                         b[k][1]=j-q;
  116.                         ++k;
  117.                         ++q;
  118.                         if ((a[i][j-q+1]=='B' || a[i][j-q+1]=='R')& q!=1)
  119.                             break;
  120.                     }
  121.                     else
  122.                         break;
  123.                 }
  124.                 q=0;
  125.                 while(1==1)
  126.                 {
  127.                     if(i-q>=0)
  128.                     {
  129.                         b[k][0]=i-q;
  130.                         b[k][1]=j;
  131.                         ++k;
  132.                         ++q;
  133.                         if ((a[i-q+1][j]=='B' || a[i-q+1][j]=='R')& q!=1)
  134.                             break;
  135.                     }
  136.                     else
  137.                         break;
  138.                 }
  139.                 q=0;
  140.                 while (1==1)
  141.                 {
  142.                     if(i+q<8)
  143.                     {
  144.                         b[k][0]=q+i;
  145.                         b[k][1]=j;
  146.                         ++k;
  147.                         ++q;
  148.                         if ((a[i+q-1][j]=='B' || a[i+q-1][j]=='R')& q!=1)
  149.                             break;
  150.                     }
  151.                     else
  152.                         break;
  153.                     }
  154.             }
  155.         }
  156.     }
  157.     for (i=0;i<k;++i)
  158.     {
  159.         st.insert(b[i]);
  160.     }
  161.     cout<<64-st.size();
  162.     return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement