码迷,mamicode.com
首页 > 其他好文 > 详细

UVA10474 Where is the Marble?

时间:2016-08-03 00:12:58      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

问题链接:UVA10474 Where is the Marble?

题意简述:输入n个整数,代表大理石编号;再输入q个数(编号),问是否有这个编号的大理石,位置在哪里?

这个问题用C++语言编写程序,主要是为了练习使用STL的功能。

程序中,使用了算法库(algorithm)中的两个函数;使用sort()函数用于对数据排序,该函数的参数比C语言的同类函数简单,程序更加易于书写;使用函数lower_bound()查找元素,简单方便。

技术分享

AC的C++语言程序如下:

/* UVA10474 Where is the Marble? */

#include <iostream>
#include <algorithm>

using namespace std;

#define MAXN 11000

int marble[MAXN];

int main()
{
    int n, q, caseno=0, val;

    while(scanf("%d%d", &n, &q) != EOF) {
        if(n == 0 && q == 0)
            break;

        for(int i=0; i<n; i++)
            scanf("%d", &marble[i]);

        sort(marble, marble + n);

        printf("CASE# %d:\n", ++caseno);
        while(q--) {
            scanf("%d", &val);
            int no = lower_bound(marble, marble + n, val) - marble;
            if(marble[no] == val)
                printf("%d found at %d\n", val, no + 1);
            else
                printf("%d not found\n", val);
        }
    }

    return 0;
}


UVA10474 Where is the Marble?

标签:

原文地址:http://blog.csdn.net/tigerisland45/article/details/52097966

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!