Advertisement
YEZAELP

A. AB Balance

Nov 6th, 2021
819
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. string Solve(){
  6.     string str;
  7.     cin >> str;
  8.     int len = str.size();
  9.     int ab[len + 10];
  10.     int ba[len + 10];
  11.     for(int i=0;i<len;i++)
  12.         ab[i] = ba[i] = 0;
  13.     int cab = 0;
  14.     int cba = 0;
  15.     for(int i=1;i<len;i++){
  16.         if(str[i] == 'a' and str[i-1] == 'b'){
  17.             cab ++;
  18.             ab[i] = ab[i-1] = cab;
  19.         }
  20.         if(str[i] == 'b' and str[i-1] == 'a'){
  21.             cba ++;
  22.             ba[i] = ba[i-1] = cba;
  23.         }
  24.     }
  25.  
  26.     if(cab == cba)
  27.         return str;
  28.  
  29.     if(str[len-1] == 'a')
  30.         str[len-1] = 'b';
  31.     else
  32.         str[len-1] = 'a';
  33.     return str;
  34.  
  35. }
  36.  
  37. int main(){
  38.  
  39.     int Q;
  40.     scanf("%d", &Q);
  41.  
  42.     while(Q--){
  43.         cout << Solve() << '\n';
  44.     }
  45.  
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement