1. 程式人生 > >雜湊查詢 C語言版

雜湊查詢 C語言版

題目描述

根據輸入的int 陣列建立雜湊表,然後查詢是否存在相應元素。

輸入描述

第一行為測試資料的組數n, 下面有n組測試資料。對於每組測試資料,第一行為用空格隔開的int數列,數量不超過1,000,000,下面一行為查詢數目m, 接下來的m行為m個需要查詢的數(int型)。

輸出描述

每組測試資料輸出m行,如果存在相應的元素,輸出“Yes.”,否則輸出“No.”。

輸入樣例

1
1 2 4 5 3 6
2
1
7

輸出樣例

Yes.
No.

提示

 雜湊吧, 騷年們。

 

 

#include<stdio.h>

int a[9000000]={0};
char s[100000];
int main()
{
    int n,m,j,k,i,t,T,x,y;
    scanf("%d",&n);
    getchar();
    while (n--)
    {
        for (i=0;i<1000000;i++) a[i] = 0;
        gets(s);
        for (i=0;i<strlen(s);i++)
        {
            if (s[i]>='0' && s[i]<='9')
                a[ s[i] - '0' ] = 1;
        }
        scanf("%d",&m);
        while(m--)
        {
            scanf("%d",&y);
            if (a[y]==1)
                printf("Yes.\n");
            else
                printf("No.\n");
        }
    }


    return 0;
}