#include
int main(void) { //定义matrix的大小 int n; scanf("%d",&n); int matrix[n][n]; //
//输入matrix的数据(二维数组的两层for循环)
int a;//输入的数据
int control;//行
for (control =0;control<n;control++) {
int control_1;//列
for (control_1 = 0;control_1 <n;control_1++) {
scanf("%d",&a);
matrix[control][control_1] = a;
}
}
//
//
int max_hang;//该行最大值
int max_hang_location;//该行最大值所在的列
for (control = 0;control < n;control++) {
max_hang = matrix[control][0];
max_hang_location = 0;
//找到该行的最大值
int control_1;
for (control_1 = 0;control_1<n;control_1++) {
if (max_hang < matrix[control][control_1]) {
max_hang = matrix[control][control_1];
max_hang_location = control_1;//因为判断大小,会进行到底,故control_1不是最大值所在的列,即要保存为location
}
}
//判断是否为该列的最小值
int result = 1;//默认为是该列的最小值
int control_2;
for (control_2 = 0;control_2<n;control_2++) {
if (max_hang>matrix[control_2][max_hang_location]) {
result = 0;
}
}
if (result) {
printf("%d %d",control,max_hang_location);//还未跳出control循环,故此时的control即鞍点的行
}
}
return 0;
}