Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.07 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std ;
  3.  
  4. int weigh (char x);
  5.  
  6. int main ()
  7. {
  8.     ios_base::sync_with_stdio(false);
  9.     cin.tie(NULL);
  10.  
  11.     int t,q=1;
  12.     scanf("%d", &t);
  13.  
  14.     while(t--)
  15.     {
  16.         char s[30][30];
  17.         int i,j, rightW=0, leftW=0, breakingPOfLS, breakingPOfRS;
  18.         string rightScale, leftScale;
  19.  
  20.         rightScale=leftScale="";
  21.  
  22.         for(i=0;i<8;i++)    scanf("%s", s[i]);
  23.  
  24.         for(i=0;i<8;i++)
  25.         {
  26.             for(j=0;j<8;j++)
  27.             {
  28.                 if(isupper(s[i][j]))
  29.                 {
  30.                     leftW += weigh(s[i][j]) , leftScale += s[i][j];
  31.                 }
  32.  
  33.                 else if(s[i][j]=='_')
  34.                 {
  35.                     breakingPOfLS = i;
  36.                     break;
  37.                 }
  38.  
  39.             }
  40.         }
  41.  
  42.  
  43.         for(i=0;i<8;i++)
  44.         {
  45.             for(j=10;j<18;j++)
  46.             {
  47.                 if(isupper(s[i][j]))
  48.                 {
  49.                     rightW += weigh(s[i][j]) , rightScale += s[i][j];
  50.                 }
  51.  
  52.                 else if(s[i][j]=='_')
  53.                 {
  54.                     breakingPOfRS = i;
  55.                     break;
  56.                 }
  57.  
  58.             }
  59.         }
  60.  
  61.         printf("Case %d:\n",q);
  62.         q++;
  63.  
  64.         if(leftW>rightW && breakingPOfLS>breakingPOfRS || rightW>leftW && breakingPOfRS>breakingPOfLS || rightW==leftW && breakingPOfLS==breakingPOfRS )
  65.             puts("The figure is correct.");
  66.  
  67.         else
  68.         {
  69.             for(i=leftScale.length();i<6;i++) leftScale +=".";
  70.             for(i=rightScale.length();i<6;i++) rightScale +=".";
  71.  
  72.             if(leftW>rightW)
  73.             {
  74.                 puts("........||.../\\...");
  75.                 puts("........||../..\\..");
  76.                 puts(".../\\...||./....\\.");
  77.                 printf("../..\\..||/");
  78.                 cout<<rightScale<<"\\"<<endl;
  79.                 puts("./....\\.||\\______/");
  80.                 cout<<"/"<<leftScale<<"\\||........"<<endl;
  81.                 puts("\\______/||........");
  82.  
  83.             }
  84.  
  85.             else if (leftW<rightW)
  86.             {
  87.                 puts(".../\\...||........");
  88.                 puts("../..\\..||........");
  89.                 puts("./....\\.||.../\\...");
  90.                 cout<<"/"<<leftScale<<"\\||../..\\.."<<endl;
  91.                 puts("\\______/||./....\\.");
  92.                 cout<<"........||/"<<rightScale<<"\\"<<endl;
  93.                 puts("........||\\______/");
  94.             }
  95.  
  96.             else
  97.             {
  98.                 puts("........||........");
  99.                 puts(".../\\...||.../\\...");
  100.                 puts("../..\\..||../..\\..");
  101.                 puts("./....\\.||./....\\.");
  102.                 cout<<"/"<<leftScale<<"\\||/"<<rightScale<<"\\"<<endl;
  103.                 puts("\\______/||\\______/");
  104.                 puts("........||........");
  105.             }
  106.  
  107.         }
  108.  
  109.  
  110.     }
  111.  
  112.  
  113.     return 0;
  114. }
  115.  
  116. int weigh (char x)
  117. {
  118.     int no = x;
  119.     int r =0;
  120.  
  121.     while(no)
  122.     {
  123.         if(no & 1) r += 500;
  124.         else r += 250;
  125.         no >>= 1;
  126.     }
  127.  
  128.     return r;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement