#include #include #include #include #include #include #define INF 0x3f3f3f3f const int maxn=5010; using namespace std; vector ans; int a[110];//目标串 int b[110];//符合条件的某个 char tem[110]; int num=0; int n,c; void num1() { for(int i=1; i<=n; ++i) { b[i]=!b[i]; } } void num2() { for(int i=1; i<=n; i+=2) { b[i]=!b[i]; } } void num3() { for(int i=2; i<=n; i+=2) { b[i]=!b[i]; } } void num4() { for(int i=1; i<=n; i+=3) { b[i]=!b[i]; } } // void dfs(int icount) { //if(icount > c) return ; if(icount ==c) { int f=1; for(int i=1; i<=n; ++i) { if(a[i]==-1) continue ; if(a[i]!=b[i]) { f=0; break; } } if(f==1) { num++; for(int i=0; i4) c=4-c%2; while(scanf("%d",&x) && x!=-1) a[x]=1; while(scanf("%d",&x) && x!=-1) a[x]=0; for(int i=1; i<=n; ++i) { b[i]=1; } dfs(0); sort(ans.begin(),ans.end()); ///for(int i=0; i