洛谷-训练场-新手村-数组-P2141 珠心算测验

#include
#include

using namespace std;

int num[10005];
bool binary_search(int x, int k){
    int l = 0, r = k;
    while(r - l >= 1){
        int i = (l + r) / 2;
        if(num[i] == x) return true;
        else if(num[i] < x) l = i + 1;
        else r = i;
    }
    return false;
}

int main(){
    int n[105], L, k = 0, ans = 0;
    scanf("%d", &L);
    for(int i=0; i

解释:先将两个不同数组合所有不同的可能性计算出来,然后用二分查找进行搜索。

 

模板:

二分查找

int num[10005];
bool binary_search(int x, int k){
    int l = 0, r = k;
    while(r - l >= 1){
        int i = (l + r) / 2;
        if(num[i] == x) return true;
        else if(num[i] < x) l = i + 1;
        else r = i;
    }
    return false;
}

 

你可能感兴趣的:(二分查找,洛谷,新手村,P2141,珠心算测验,洛谷)