습관처럼
백준 10815 - 숫자 카드 본문
https://www.acmicpc.net/problem/10815
문제 설명
상근이가 숫자 카드들을 가지고 있으며 주어진 숫자가 상근이가 가지고 있는 숫자카드에 있는지 없는지를 판단하는 문제이다.
접근 방법
전형적인 이분탐색 문제입니다.
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int n,m;
int nNumber[500001], mNumber[500001];
void bs(int target,int low, int high){
bool searched = false;
while(low<=high){
int mid = (low+high)/2;
if(nNumber[mid]==target){
searched=true;
break;
}
else if(nNumber[mid]<target) low= mid+1;
else high=mid-1;
}
if(searched){cout<<1<<" ";return;}
else {cout<<0<<" ";return;}
}
int main(){
cin>>n;
for(int i=0;i<n;i++) cin>>nNumber[i];
cin>>m;
for(int i=0;i<m;i++) cin>>mNumber[i];
sort(nNumber,nNumber+n);
//for(int i=1;i<=n;i++) cout<<nNumber[i]<<" ";
for(int i=0;i<m;i++){
int start=0,last=n-1;
bs(mNumber[i],start,last);
}
}
funny algorithm *0*b~
'Algorithms > BOJ' 카테고리의 다른 글
백준 10026 - 적록색약 (0) | 2020.04.02 |
---|---|
백준 1654 - 랜선 자르기 (0) | 2020.04.01 |
백준 11004 - k번째 수 (0) | 2020.03.30 |
백준 3053 - 택시 기하학 (0) | 2020.03.30 |
백준 14889 - 스타트와 링크 (0) | 2020.03.29 |