#include <iostream> #include <string.h> using namespace std; int total = 0; void fun(int n, char* str) { if(n==0) { char* p1 = strstr(str,"111"); //char* p2 = strstr(str,"000"); if(p1 == NULL) { total++; } } else{ str[n-1]='1'; fun(n-1,str); str[n-1]='0'; fun(n-1,str); } } int main() { char str[41]={0}; int n; scanf("%d",&n); fun(n,str); cout<<total<<endl; return 0; } /************************************************************** Problem: 1689 User: admin Language: C++ Result: Accepted Time:8 ms Memory:2072 kb ****************************************************************/