#include #include using namespace std; #define MAX ((2<<9)+1) #define INF -1000000000 int bitdp[MAX]; int data[9][9]; int powa[10]; void dp(int bit,int n){ bool f[9]; for(int i=0;i>i)%2==0) f[i]=false; else f[i]=true; } for(int i=0;i>i)%2==1){ int tmpbit=bit; tmpbit-=powa[i]; int c=bitdp[tmpbit]; int pc=0; for(int j=0;j>N>>M; for(int i=0;i>item1>>item2>>score; data[item1][item2]=score; sum[item1]+=score; } for(int i=0;i<=(2<<9);i++) bitdp[i]=INF; bitdp[0]=0; for(int i=0;i<=N;i++) powa[i]=pow(2.0,i); for(int i=0;i