Guest User

Untitled

a guest
Oct 22nd, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,x,y,z,a[505],mx;
  4. //int dp[505][22][22];
  5. void task(int b1,int b2,int po,int ch)
  6. {
  7.    cout<<y++<<endl;
  8.   // cout<<b1<<" "<<b2<<" "<<po<<" "<<ch<<endl;
  9.     if(po==n)
  10.     {
  11.        // cout<<"              get = "<<ch<<endl;
  12.        if(mx>ch)
  13.         mx=ch;
  14.        return;
  15.     }
  16.  
  17.  
  18.      if(b1==a[po] || b2==a[po])
  19.     {
  20.         task(b1,b2,po+1,ch);
  21.     }
  22.     else if(b2==0 && b1!=0)
  23.     {
  24.         task(b1,a[po],po+1,ch+1);
  25.     }
  26.     else
  27.     {
  28.         task(a[po],b2,po+1,ch+1);
  29.         task(b1,a[po],po+1,ch+1);
  30.  
  31.     }
  32.     //cout<<dp[po][b1][b2]<<endl;
  33. }
  34.  
  35.  
  36. int main()
  37. {
  38.     //freopen("in.txt","r",stdin);
  39.     //freopen("ot.txt","w",stdout);
  40.     int t,j,k,i;
  41.     cin>>t;
  42.     while(t--)
  43.     {
  44.         y=0;
  45.         mx=500005;
  46.         //memset(dp,-1,sizeof(dp));
  47.         cin>>n;
  48.         for(i=0;i<n;i++)
  49.         {
  50.             cin>>a[i];
  51.         }
  52.         task(0,0,0,0);
  53.         cout<<"ans= "<<mx<<endl;
  54.     }
  55. }
Add Comment
Please, Sign In to add comment