#include<iostream>
using namespace std;
int main(){
int n,m,sum=0;
cin>>n>>m;
int a[n][m],i,j,k,b[n],c[m];//i是行,j是列
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cin>>a[i][j];
}
}
for(k=0;k<n;k++){
for(i=0;i<m;i++){
for(j=0;j<m;j++){
if(a[k][i]>=a[k][j]) sum++;
if(sum==m){
b[k]=i;//每一行最大的位置
break;
}
}
sum=0;
}
}
for(k=0;k<m;k++){
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(a[i][k]<=a[j][k]) sum++;
if(sum==n){
c[k]=i;//每一列最小的位置
break;
}
}
sum=0;
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(b[i]==j&&c[j]==i) cout<<a[i][j];
else sum++;
}
}
if(sum==n*m) cout<<"It does not exist!";
}
鞍点问题实现
最新推荐文章于 2024-06-09 20:18:37 发布