问题描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6bf97cf0f35f41a71f044ec56d139cd4.png)
样例输入
4 2
0 0
-1 -1
1 2
0 -1
样例输出
3
1
0
3
代码
#include <iostream>
using namespace std;
int main(){
int n, m;
scanf("%d %d", &n, &m);
int warehouses[n][m];
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
scanf("%d", &warehouses[i][j]);
}
}
for(int i = 0; i < n; i++){
int* current_warehouse = warehouses[i];
int superior_warehouse = -1;
for(int j = 0; j < n; j++)
if(i != j){
int* candidate_warehouse = warehouses[j];
int valid = 1;
for(int k = 0; k < m; k++){
if(candidate_warehouse[k] <= current_warehouse[k]){
valid = 0;
break;
}
}
if(valid && (superior_warehouse == -1 || j < superior_warehouse))
superior_warehouse = j;
}
printf("%d\n", superior_warehouse + 1);
}
return 0;
}