#476. NOIP2008TG-28

NOIP2008TG-28

28.(完善程序)

(矩阵中的数字)有一个 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 所在的行列(注意:输入数据保证矩阵中的数各不相同)。

#include <stdio.h>

int n,k,answerx,answery;
int a[5001][5001];

void FindKPosition()
{
	int i = n,j = n;
	while (j > 0)
	{
		if (a[n][j] < k) break;               
		j --;
	}
    ____________________
	while (a[i][j] != k)
	{
		while ( ____________________ && i > 1) i --;
		while ( ____________________ && j <= n) j ++;
	}
    ____________________
    ____________________         
}

int main()
{
	int i,j;
	scanf( "%d", &n );
	for (i = 1;i <= n;i ++)
		for (j = 1;j <= n;j ++)
			scanf( "%d", &a[i][j]);
	scanf( "%d", &k );
	FindKPosition();
	printf("%d %d\n", answerx, answery);
return 0;
}

①:{{ input(1) }}

②:{{ input(2) }}

③:{{ input(3) }}

④:{{ input(4) }}

⑤:{{ input(5) }}