rt.不知道哪里错了啊啊啊。
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define re register
#define il inline
const int N=(1<<22),M=1005;
int s[M],f[N];
int n,m,k;
il void solve(){
memset(f,0x3f,sizeof(f));
cin>>n>>m>>k;
for(re int i=1;i<=n;++i){
int cnt=0;
for(re int j=1;j<=k;++j){
int x;cin>>x;cnt+=(1<<(x-1));
}
s[i]=cnt;
}
f[0]=0;
for(re int i=0;i<(1<<m);++i)
for(re int j=1;j<=n;++j)
f[i|s[j]]=min(f[i|s[j]],f[i]+1);
if(f[(1<<m)-1]>1000) cout<<"-1";
else cout<<f[(1<<m)-1];
return ;
}
signed main(){
solve();
return 0;
}