View Code of Problem 85

#include <stdio.h>
#include <math.h>
#include <string.h>
int main(){
	int m,n;
	scanf("%d %d",&m,&n); 
	int a[m][n];
	
	int i,j;
	for(i = 0;i < m; i++){
		for(j = 0;j < n; j++){
			scanf("%d",&a[i][j]);
		}
	}
	int b[m][2];     //每行最小元素的坐标 
	int x1,y1;
	
	for(i = 0;i < m; i++){
		int min = a[i][0];
		x1 = i,y1 = 0;
		for(j = 0;j < n; j++){
			if(a[i][j]<min){
				min = a[i][j];
				y1 = j;       //每行最小元素得到 
			}
		}
		b[i][0] = x1;
		b[i][1] = y1; 
	}
//	for(i = 0;i < m; i++){
//		printf("%d %d\n",b[i][0],b[i][1]);
//	}
	for(i = 0;i < m; i++){
		int c = b[i][1];     //第一行最小元素的列坐标 
		int flag = 0;
		for(j = 0;j < n; j++){
			if(a[i][c] < a[j][c]) {
				flag = 1;
				break;
			}
		}
		if(flag == 0) printf("%d %d\n",b[i][0]+1,b[i][1]+1);
	}
	
}
	

Double click to view unformatted code.


Back to problem 85