Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>#include<cstring>//#include<vector>#include<algorithm>#ifdef L_JUDGE#pragma warning(disable:4996)#endifusing namespace std;const int MAXN=105;int id[MAXN],id_cnt;char str[MAXN];int N;void DFS(int *arr,int length,int max_level,int li,int di,int mask,int &ans){if(li==length){ans=max(ans,di);return;}if(di==max_level){ans=max(ans,di);return;}for(int i=li;i<length;i++){if(mask&arr[i])continue;DFS(arr,length,max_level,i+1,di+1,mask|arr[i],ans);}