散列用空間換時間

#include<cstdio>
bool shifou[10000]={false};//如果bool改爲int(並將默認值改爲0)則可以用來計數! 
int a[10000]={0};
int main(){
	int n,m,b,i,j;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",a+i);
		shifou[a[i]]=true;// 如果想要計數則這裏要改爲++。 
	}
	for(i=0;i<m;i++){
		scanf("%d",&b);
		if(shifou[b]==true) printf("true\n");
		else printf("false\n");
	}//14.64秒 
	/*for( i=0;i<m;i++){
		scanf("%d",&b);
		for( j=0;j<n;j++){
			if(a[j]==b) {printf("true\n");break;}
		}
		if( j=n-1&&a[j]!=b){printf("false\n");}
	}//55.66秒 */
	return 0;
	
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章