测题目的样例没问题
因为测这个样例,包错的。
3 2 1
0
1 1
2 1 2
#include<iostream>
using namespace std;
int n,m,k,aa[5005],a[5005][20],ans,xj;
bool vis[20];
void dfs(int id,int cnt){
ans=max(ans,cnt);
if(id>n)return;
if(aa[id]==0){
dfs(id+1,cnt+1);
}
if(xj>k){
for(int i=1;i<=n;i++){
if(aa[i]==0)ans=max(ans,cnt+1);
for(int j=1;j<=aa[i];j++){
if(!vis[a[i][j]]){
return;
}
}
}
ans=max(ans,cnt+1);
return;
}
for(int i=1;i<=aa[id];i++){
vis[a[id][i]]=1;
xj++;
dfs(id+1,cnt+1);
xj--;
vis[a[id][i]]=0;
}
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
int x;
cin>>x;
aa[i]=x;
for(int j=1;j<=x;j++){
cin>>a[i][j];
}
}
dfs(1,0);
cout<<ans;
return 0;
}
用人话讲,就是读取到3,应为2;
用“洛谷语言”讲,就是read 3, expected 2.
我这思路啊,也有点混乱了░▒▓
求调
帮助有效者的俺の壶关哦!