在元素存在的n * m矩阵中查找索引

时间:2014-04-18 12:54:34

标签: c

问题:+3如何等于-3。

我使用了ideone。

代码:

#include <stdio.h>
long long int scan()
{
    long long int n=0;
    char ch=getchar_unlocked();
    while(ch<'0'||ch>'9')
        ch=getchar_unlocked();
    while(ch>='0'&&ch<='9')
    {
        n=(n<<3)+(n<<1)+ch-'0';
        ch=getchar_unlocked();
    }
    return n;
}
long long int a[1001][1001];
int main()
{
    int flag;
    long long int i,j,n,m,q,x;
    n=scan();
    m=scan();
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            a[i][j]=scan();
        }
    }
    q=scan();
    while(q--)
    {
        flag=0;
        x=scan();
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                if(a[i][j]==x)
                {
                    if((a[i][j]+1)==x+1)
                    {
                    flag=1;
                    printf("%d %d\n",i,j);
                    break;
                    }
                }
            }
            if(flag==1)
            break;
        }
        if(flag!=1)
                printf("-1 -1\n");
    }
    return 0;
}

scan()只是一种扫描长整数的方法。

输入:

5 5
-10 -5 -3 4 9
-6 -2 0 5 10
-4 -1 1 6 12
2 3 7 8 13
100 120 130 140 150
3
0
6
5

输出:

1 2
0 1
0 2

我只想显示元素存在的索引(从0开始的索引)。

因此

1)0 - &gt; 1 2正确!

2)6 - &gt; 1 0不正确!它不存在。因此预期-1 -1

3)3 - &gt; 0 2不正确!它存在于3 1

0 个答案:

没有答案