ACM篇:UVa 10474--Where is the Marble?

STL練習

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;

int n;
int q;
vector<int> marble;

void read_marble()
{
    marble.clear();

    int v;
    for (int i = 1; i <= n; i++)
    {
        scanf("%d", &v);
        marble.push_back(v);
    }
}
int main()
{
    int kase = 0;

    while (scanf("%d%d", &n, &q) == 2 && (n || q))
    {
        read_marble();
        sort(marble.begin(), marble.end());

        printf("CASE# %d:\n", ++kase);
        int tar;
        int index;
        while (q--)
        {
            scanf("%d", &tar);
            index = lower_bound(marble.begin(), marble.end(), tar) - marble.begin();
            if (marble[index] == tar)
            {
                printf("%d found at %d\n", tar, index+1);
            } 
            else 
            {
                printf("%d not found\n", tar);
            }
        }
    }
}
發佈了58 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章