首页 > 试题广场 >

(矩阵中的数字)有一个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所在的行列(注意:输入数据保证矩阵中的数各不相同)。
#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--;
    }
    1
    while (a[i][j] != k) {
        while (2 && i > 1) i--;
        while (3 && j <= n) j++;
    }
    4
    5
}
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;
}

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