1 条题解
-
0
C :
#include<stdio.h> int main(){ int n,m,tag; int i,j,k,maxi; int a[50][50]; scanf("%d%d",&n,&m); for(i=0;i<n;i++) for(j=0;j<m;j++) scanf("%d",&a[i][j]); for(i=0;i<n;i++){ tag=1; maxi=0; for(k=0;k<m;k++){ if(a[i][maxi]<a[i][k]) maxi=k; } for(j=0;j<n;j++){ if(a[i][maxi]>a[j][maxi]) tag=0; } if (tag==1) printf("%d %d %d\n",a[i][maxi],i,maxi); } return 0; }
C++ :
#include <stdio.h> int main() { int dat[50][50]; int n, m, i, j, k, saddle, saddleCnt = 0; scanf("%d%d", &n, &m); for (i = 0;i < n;i++) { for (j = 0;j < m;j++) { scanf("%d", &dat[i][j]); } } for (i = 0;i < n;i++) { for (j = 0;j < m;j++) { saddle = 1; for (k = 0;k < m && saddle == 1;k++) if (dat[i][k] > dat[i][j]) saddle = 0; for (k = 0;k < n && saddle == 1;k++) if (dat[k][j] < dat[i][j]) saddle = 0; if (saddle == 1) { saddleCnt++; printf("%d %d %d\n", dat[i][j], i, j); } } } if (saddleCnt == 0) puts("NO"); return 0; }
Pascal :
const Num=100; var a:array[0..Num,0..Num] of longint; b:array[1..Num,0..Num] of longint; //记录列最小 n,m,i,j,min,max,t,count:longint; begin readln(n,m); for i:=1 to n do for j:=1 to m do begin read(a[i,j]); b[i,j]:=0; end; for j:=1 to m do begin min:=maxlongint; for i:=1 to n do if(a[i,j]<min) then begin min:=a[i,j]; t:=i; //记录行号 end; b[t,j]:=min; end; count:=0; for i:=1 to n do begin max:=-maxlongint; for j:=1 to m do if(a[i,j]>max) then begin max:=a[i,j]; t:=j; //记录列号 end; if( a[i,t]=b[i,t] ) then begin //找到鞍点 writeln(a[i,t],' ',i-1,' ',t-1); //对应C习惯,从0行开始 inc(count); end; end; if(count=0) then writeln('NO'); end.
Java :
import java.util.Scanner; public class Main { private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { int n = s.nextInt() ; int m = s.nextInt() ; int a[][] = new int[n][m] ; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = s.nextInt() ; } } int max = 0 ; int x = 0 ; int y = 0 ; int sum = 0 ; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { if(a[i][j]>max){ max = a[i][j] ; x = i ; y = j ; } } for (int j = 0; j < a.length; j++) { if(a[j][y]>max){ sum++ ; } } if(sum>0){ System.out.println(a[x][y]+" "+x+" "+y); } x= 0; y =0 ; sum = 0 ; } } }
- 1
信息
- ID
- 1302
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者