数据量级没那么bt 直接暴力即可
#include <bits/stdc++.h>
using namespace std;
struct ck{
int signal;
int a[20];//编码
};
int main(){
int n,m;
cin>>n>>m;
ck cks[10010];
for(int i=1;i<=n;i++){
cks[i].signal=i;//编号
for(int j=1;j<=m;j++){
cin>>cks[i].a[j];//编码
}
}
for(int i=1;i<=n;i++){//要寻找上级的仓库
int find=0;
for(int j=1;j<=n;j++){//遍历每个仓库
int cnt=0;
for(int k=1;k<=m;k++){//遍历每个仓库的每位编码
if(cks[i].a[k]<cks[j].a[k]){
cnt++;//编码对上一位了
}
if(cnt==m){//编码位全都对上了
cout<<cks[j].signal<<endl;
find=1;//找到编号最小的就行了
}
}
if(find==1)break;//就不用再找了
}
if(find==0)cout<<0<<endl;//找到头也没找到 说明自己就压根没上级
}
}