为什么只有50分????

wyh15 Minecraft 2024-07-23 14:06:39 12
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[100][100];
	for(int i=0;i<5;i++){
		for(int j=0;j<5;j++){
			cin>>a[i][j];
								}
							}
	int k=0;
	int max=0;
	for(int i=0;i<5;i++){
		for(int j=0;j<5;j++){
			if(a[i][j]>max){
				max=a[i][j];
				k = j;
						}
					}
	int h = 0;
	int min=1000000000;
	for(int u=0;u<5;u++){
		if(a[u][k]<min){
			min=a[u][k];
			h = u;
				}
			}
	if(min==max){
		cout<<k<<' '<<h;
		return 0;
		}
	else{
		cout<<"not found";
		return 0;
	}
	max = 0;
}
	return 0;
}
{{ vote && vote.total.up }}

共 6 条回复

CPP 刷题王

首先应该是输出你找到的 max 所对应的行、列(注意+1),也就是说 h 没用。

其次,not found不应放在循环里,这样会导致第一次没有找到就会直接输出 not found,即使第二次就可以找到。

CPP 刷题王

and你输出也得改啊。。。

wyh15 Minecraft

shank you

CPP 刷题王

你思路错了,鞍点是指该行的最大值,不是该矩阵的最大值,所以对于每一行的最大值你得同时判断他是不是该列的最小值。

wyh15 Minecraft

@CPP

wyh15 Minecraft