题意:给出一个函数 要求找出各位的表示方法 判断是否能进位
解法:比赛的时候看成异或函数了 觉得样例都错了 其实这个很简单了 本位处理和进位处理都是0就可以了 再不然推出
1和2也不难了
#include <iostream>
#include <stdio.h>
#include <set>
#include <map>
#include <string.h>
using namespace std;
void solve(int x){
if(x==1){printf("((A0|B0)|(A0|B0))");return ;}
printf("((A%d|B%d)|(",x-1,x-1);
solve(x-1);
printf("|((A%d|A%d)|(B%d|B%d))))",x-1,x-1,x-1,x-1);
}
int n;
int main()
{
while(~scanf("%d",&n)){
solve(n);
printf("\n");
}
return 0;
}