193030

Div 3 B. Two grams [Wrong answer on test 3]

Jul 20th, 2020
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.30 KB | None | 0 0
  1.     // B. Two grams https://codeforces.com/contest/977/problem/B
  2.     #include <iostream>
  3.     #include <string>
  4.     using namespace std;
  5.     int lengthOfString = 4;
  6.     string inputString = "ZZZAA";
  7.     string stringArray[10] = {};
  8.     int stringArrayIndex = 0;
  9.     int stringArrayIndexCounter[10] = {};
  10.     string tempString ="";
  11.  
  12.     int stringArrayIndexCounterMaxNumber = 0;
  13.     int maxIndex = 0;
  14.     int twoGramsAvailAbility = 0;
  15.  
  16.  
  17.     int checkTwoGramsAvailAbility()
  18.     {
  19.         twoGramsAvailAbility=0;
  20.         for(int i =0; i<stringArrayIndex; i++)
  21.         {
  22.             if(stringArray[i]==tempString)
  23.             {
  24.              //   cout << "ima duplicate";
  25.               //  cout <<" String array i temp string: " << stringArray[i] << " " << tempString<< endl;
  26.                 twoGramsAvailAbility=1;
  27.                 stringArrayIndexCounter[i]+=1;;
  28.                 break;
  29.             }
  30.         }
  31.         return twoGramsAvailAbility;
  32.     }
  33.  
  34.     void maxContainedValue()
  35.     {
  36.        for(int i =0; i<sizeof(stringArrayIndexCounter)/sizeof(stringArrayIndexCounter[0]);i++)
  37.        {
  38.         if(stringArrayIndexCounterMaxNumber < stringArrayIndexCounter[i])
  39.         {
  40.             stringArrayIndexCounterMaxNumber = stringArrayIndexCounter[i];
  41.             maxIndex = i;
  42.  
  43.         }
  44.        }
  45.       //  cout <<"The max index number is: " << stringArrayIndexCounterMaxNumber << endl;
  46.        /*
  47.        cout << "start" << endl;
  48.        for(int i =0; i<sizeof(stringArrayIndexCounter)/sizeof(stringArrayIndexCounter[0]);i++)
  49.        {
  50.                   cout << stringArrayIndexCounter[i] << endl;
  51.        }
  52.        */
  53.     }
  54.  
  55.     int main()
  56.     {
  57.  
  58.     lengthOfString = inputString.length();
  59.     //cout << "L: "<< lengthOfString << endl;
  60.      int number;
  61.      cin >> number;
  62.      cin >> inputString;
  63.  
  64.      for(int i =0; i<(lengthOfString-1); i++)
  65.      {
  66.        //  cout << "I:" << i << endl;
  67.          int I = i;
  68.          if(I>=(lengthOfString-1))
  69.          {
  70.              I = (lengthOfString-1);
  71.          }
  72.          int currentChar = int(inputString.at(I));
  73.          int nextChar = int(inputString.at(++I));
  74.       //    cout <<"Current char: " << currentChar << " next char: " << nextChar << " i" <<i << endl;
  75.          if((currentChar==nextChar) || (currentChar==(nextChar+1)) || ((1+currentChar)==nextChar))
  76.          {
  77.      //        cout << "tuka smE" << endl;
  78.              tempString += inputString.at(i);
  79.              tempString += inputString.at(i+1);
  80.               //cout << "TEMPSTRING: " << tempString << endl;
  81.  
  82.              int temp = checkTwoGramsAvailAbility();
  83.              // Ako temp = 1 se povtarqt
  84.              if(!temp) // Ako temp = 0 se pravi nov string
  85.              {
  86.                //   cout << "tuka sme22" << endl;
  87.                   stringArray[stringArrayIndex] = tempString;
  88.                   stringArrayIndex++;
  89.                   stringArrayIndexCounter[i]+=1;;
  90.              }
  91.  
  92.          }
  93.  
  94.               tempString ="";
  95.  
  96.      }
  97.  
  98.  
  99.      maxContainedValue();
  100.      //cout << stringArray[stringArrayIndexCounterMaxNumber] << endl;
  101.         for(int i =0; i<sizeof(stringArrayIndexCounter)/sizeof(stringArrayIndexCounter[0]);i++)
  102.         {
  103.          //         cout << stringArrayIndexCounter[i] << endl;
  104.         }
  105.  
  106.  
  107.  
  108.      cout << stringArray[maxIndex] << endl;
  109.     }
Advertisement
Add Comment
Please, Sign In to add comment