首页 > 试题广场 >

(矩阵中的数字)有一个n*n(1≤n≤5000)的矩阵a,对

[填空题]
(矩阵中的数字)有一个n*n(1≤n≤5000)的矩阵a,对于1≤i<n, 1≤j≤n, a[i,j]<a[i+1,j]  a[j,i]<a[j,i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两个元素,下面的元素一定比上面的大。给定矩阵a中的一个数字k,找出k所在的行列(注意:输入数据保证矩阵中的数各不相同)。
var
  n, k, answerx, answery : integer;
  a : array[1..5000, 1..5000] of integer;
procedure FindKPosition;
var
  I, j : integer;
begin
  i := n;
  j := n;
  while j > 0 do
  begin
    if a[n, j] < k then break;
    dec(j);
  end;
  1
  while a[i, j]<>k do
  begin
    while ( 2) and (i>1) do dec(i);
    while (3) and (j <= n) do inc(j);
  end;
4
5
end;
var
  i, j : integer;
begin
  read(n);
  for i:=1 to n do
    for j:=1 to n do
      read(a[i, j]);
  read(k);
  FindKPosition;
  writeln(answerx, ' ', answery);
end.

这道题你会答吗?花几分钟告诉大家答案吧!