30分救助,感谢!!!
查看原帖
30分救助,感谢!!!
1219803
lyx666ok楼主2024/8/25 21:59
#include<bits/stdc++.h>
using namespace std;
int a[6][6],i1,j1,zhi,n1;
int main(){
	for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) cin>>a[i][j]; //输入,准没问题 
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){                                //两个for穷举 
			for(int k=1,n=1e9;k<=5;k++){                      //判断所在列的最小值 
				if(a[k][j]<=n){
					n=a[k][j],n1=k;
				}
			}
			if(n1==i){                                        //如果是所在列最小值,判断该行最大值 
				for(int k=1,n=0;k<=5;k++){
					if(a[i][k>=n]){
						n=a[i][k],n1=k;
					}
				}
				if(n1==j) i1=i,j1=j,zhi=a[i][j];              //满足条件,设置行、列、值到当前鞍点 
			}
		}
	}
	if(zhi==0 and i1==0 and j1==0) cout<<"not found";         //若行、列、值为0(不存在)输出 
	else cout<<i1<<" "<<j1<<" "<<zhi;
	return 0;
}
2024/8/25 21:59
加载中...