Advertisement
Guest User

Untitled

a guest
Nov 4th, 2013
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include<cstdio>
  2. long long ans=0;
  3. bool isok(char s[],int n){
  4.     bool f[3];
  5.     for(int i=0;i<n-2;i++)
  6.     {
  7.         f[0]=f[1]=f[2]=0;
  8.         f[s[i]-'A']=1;
  9.         f[s[i+1]-'A']=1;
  10.         f[s[i+2]-'A']=1;
  11.         if(f[0]&&f[1]&&f[2])return 0;
  12.     }
  13.    // s[n]='\0';
  14.  //   puts(s);
  15.     return 1;
  16. }
  17.  
  18. void solve(char s[],int n,int x){
  19.     if(x==n){
  20.         if(isok(s,n))ans++;
  21.         return;
  22.     }
  23.     s[x]='A';
  24.     solve(s,n,x+1);
  25.     s[x]='B';
  26.     solve(s,n,x+1);
  27.     s[x]='C';
  28.     solve(s,n,x+1);
  29. }
  30.  
  31. int main(){
  32.     char s[50];
  33.     int n;
  34.     printf("Enter n\n");
  35.     scanf("%d",&n);
  36.     solve(s,n,0);
  37.     printf("%lld\n",ans);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement