日記

pengfu_xin發表於2024-04-19

2024.4.19

#include<stdio.h>
void dot(int arr[6][6],int *num,int *row,int *col){
	int c=0;
	int c_1=0;
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			for(int p=1;p<=5;p++){
				if(arr[i][j]<=arr[p][j]) {
					c++;
			}
		}
		if(c==5)
			for(int k=1;k<=5;k++){
				if(arr[i][j]>=arr[i][k]) {
					c_1++;
				}
				}
		c=0;
		if(c_1==5){
			*row=i;
			*col=j;
			*num=arr[i][j];
		}
		c_1=0;
	}
}
}
int main(){
	int arr[6][6];
	int num=0;
	int row=0,col=0;
	for(int i=0;i<6;i++){
		for(int j=0;j<6;j++)
		arr[i][j]=0;
	}
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			scanf("%d",&arr[i][j]);
		}
	}
	dot(arr,&num,&row,&col);
	if(row==0) printf("not found");
	else
	printf("%d %d %d",row,col,num);
	return 0;
}
自己探索演算法的道路上總是艱辛的,但是卻是最紮實的,上述演算法注意事項:
1、計數器在發揮完一次作用後即使歸零,以便下一次重新計數;
2、鞍點的找出需要先遍歷一列或一行,再在該條件透過的前提下遍歷一行或一列;