Advertisement
Josif_tepe

Untitled

Feb 9th, 2022
638
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  string n;
  5.  int true1;
  6.  int dp[50000][4][4][4][4];
  7.  int rec(int at, int l1, int l2, int r1, int r2){
  8.         if(at==n.size()){
  9.             return 0;
  10.         }
  11.      if(dp[at][l1][l2][r1][r2] != -1) {
  12.          return dp[at][l1][l2][r1][r2];
  13.      }
  14.      int niza[4];
  15.  
  16.      int lzbir;
  17.      int rzbir;
  18.         int result=0;
  19.         int color=0;
  20.         if(n[at]=='R'){
  21.             color=1;
  22.         }
  23.         if(n[at]=='Y'){
  24.             color=2;
  25.         }
  26.         if(n[at]=='G'){
  27.             color=3;
  28.         }
  29.         for(int i=0; i<4; i++){
  30.             niza[i]=0;
  31.         }
  32.         niza[color]=1;
  33.         niza[l1]=1;
  34.         niza[l2]=1;
  35.         lzbir=niza[1]+niza[2]+niza[3];
  36.  
  37.         for(int i=0; i<4; i++){
  38.             niza[i]=0;
  39.         }
  40.         niza[color]=1;
  41.         niza[r1]=1;
  42.         niza[r2]=1;
  43.         rzbir=niza[1]+niza[2]+niza[3];
  44.  
  45.         result=max(result, rec(at+1, color, l1, r1, r2)+lzbir);
  46.         result=max(result, rec(at+1, l1, l2, color, r1)+rzbir);
  47.  
  48.         dp[at][l1][l2][r1][r2]=result;
  49.         return result;
  50.  
  51.  }
  52. int main()
  53. {
  54.     int golemina;
  55.     cin>>golemina;
  56.     cin>>n;
  57.     for(int i=0; i<50000; i++){
  58.         for(int j=0; j<4; j++){
  59.             for(int k=0; k<4; k++){
  60.                 for(int l=0; l<4; l++){
  61.                     for(int m=0; m<4; m++){
  62.                         dp[i][j][k][l][m]=-1;
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.     }
  68.  
  69.     cout<<rec(0, 0, 0, 0, 0);
  70.  
  71.     return 0;
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement