STL初步:大理石在哪儿?

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

uva 10474

现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(样例中,为了节约篇幅,所有大理石上的数合并到一行,所有问题也合并到一行。)
样例输入:
4 1 
2 3 5 1
5
5 2
1 3 3 3 1
  2 3 
样例输出:
CASE# 1:
5 found at 4
CASE# 2:
2 not found
3 found at 3
提示:sort函数与lower_bound函数结合完成
注:codeblocks测试数据通过
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=10000;
int main()
{
    int n,m,a[maxn],b[maxn],cases=1;
    while(cin>>n>>m)
    {
        for(int i=1;i<=n;i++)
            cin>>a[i];
        for(int i=1;i<=m;i++)
            cin>>b[i];
        cout<<"CASE# "<<cases<<":"<<endl;
        cases++;
        sort(a+1,a+n+1);
        for(int i=1;i<=m;i++)
        {
            int p=lower_bound(a+1,a+n+1,b[i])-a;//注意·此处
            if(a[p]==b[i])
                cout<<b[i]<<" found at "<<p<<endl;
            else
                cout<<b[i]<<" not found"<<endl;
        }
    }
    return 0;
}

(stl排序+检索)大理石在哪 问题: 现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序;然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。 (在样例中,为了节约篇幅,所有大理石的数合并到一行,所有问题也合并到一行。) 样例输入: 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 样例输出: ... 阅读详情

相关推荐

大理石在哪儿

题目描述 现有 n 个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答 Q 个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答是哪个大理石上写着。排序后的大理石从左到右编号为1...n 。 输入格式 第一行,n,m 两个数。 接下来的一行有个整数,表示。 接下来行,个提问。 输出格式 输出在中排第几小"x found at ans"或 输出"x not found". 样例 样例输入 复制5 2 1 3 3 3 1 2 3 ...

coutGavin的博客 202

C++ lower_bound 算法竞赛 例5-1 大理石在哪儿(UVa 10474)

lower_bound查找大于或等于x的第一个位置。 输入n个大理石,q个问题;每个问题问是否有一个大理石写着整数x,如果有回答是哪个 【样列输入】 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 【样列输出】 CASE# 1: 5 found at 4 CASE# 2: 2 not found 3 ...

zhaohaibo的博客 577

C++之大理石在哪儿?

现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石的数合并到一行,所有问题也合并到一行。) 样

DREAMING_LIFE的博客 1108

例题5-1 大理石在哪儿(Where is the Marble?,Uva 10474)

#include<bits/stdc++.h> using namespace std; int main(){ int n,q; int k=0; while(cin>>n>>q){ if(n==0 and q==0) break; k++; int data[n]; for(int i=0;i<n;i++) cin&gt...

Greedy Hat的博客 547

D - Where is the Marble?大理石在哪?) C++用vector或者set解

题目大意:输入n,q代表N块大理石和Q个问题。N块大理石编号不同。每个问题问一个编号是否在这N个里面,如果不存在输出"Q[i] not found";如果存在输出"Q[i] found at 对应位置"。输入0 0代表结束。

weixin_64123373的博客 288

STL初步:排序与检索(大理石在哪(Where is the Marble?))

现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石的数合并到一行,所有问题也合并到一行。) 样例输入: 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 样例输出: CASE# 1:5 found at 4 CASE# 2:2 not foundfound at 3 分析: 根据题目意思,我们首先应该先进行排序

韶言大雅 277

[UVA10474]大理石在哪儿 Where is the Marble? 题解(STL初步:排序与检索)

大理石在哪儿 Where is the Marble? - 洛谷 STL初步:排序与检索 lower_bound( )和upper_bound( )的用

qq_73635134的博客 492

算法竞赛入门经典 5.2 STL初步 大理石问题

问题描述 现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序;然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。  输入大理石数量和需要回答问题数量,然后输入大理石上的每个非负整数,接着输入x 样例输入: 4 1  2 3 5 1  5  5 2  1 3 3 3 1  2 3 样例输出: CA...

DwightYu的博客 555

紫书C++STL初步例题笔记

STL(Standard Template Library),即标准模板库。下面是紫书中的几个相关例题,记录学习一下。 例题5-1 大理石在哪儿 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问,是否有一个大理石写着某个整数x,如果是, 还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石上的数合并到...

ChanCherry的博客 532

UVa 10474大理石问题(STL的使用)

Where is the Marble? Description Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginning, Raju would place the marbles one after another...

weixin_44012730的博客 286

STL vector :大理石在哪儿?

现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。第一行2个整数n、m,n表示大理石的数量,m表示有几个问题第二行有n个数字,表示大理石上的数字第三行有m个数字,表示问的数字x1个问题输出一行比如发现数字5在第4块大理石上,则输出CASE# 1:5 found at 4比如数字2,所有大理石上都没有发现,则输出CASE# 2:2 not found样例1 输入

EMOERzm的博客 324

大理石问题(STL

如何从N个大理石中找到特定数,先输入N,再输入Q,输入大理石的编号,再输入问题; for example: 4 1 2 3 5 1 5 #include<cstdio>#include<algorithm> using namespace std;const int maxn = 10000;int a[maxn]; int main(){ int n...

weixin_30505751的博客 152

算法入门经典:大理石在哪儿

大理石在哪儿(where is the marble? , UVa 10474) 前言:好好努力,在研一参加一次关于ACM竞赛,完成本科的期望。 问题: 现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序;然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。 (

MissXy_的博客 2416

STL 大理石在那儿

现有N个大理石,每个大理石上写了一个非负整数,首先把个数从小到大排序,然后回答Q个问题.每个问题问是否有一个大理石写某个整数x,如果是,还要回答哪个大理石上写着x,排序后的大理石从左到右编号为1~N,样例输入:4 12 3 5 155 21 3 3 3 12 3样例输出:CASE# 1:5 found at 4CASE# 2:2 not found3 found at 3代码如下:#include...

qq_42008211的博客 340

5-1大理石在哪?

问题:现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N 样例输入: 4 1 2 3 5 1 5 样例输出: CASE# 1: 5 found at 4 用algorithm头文件中的sort()和lower_bound() #i...

guo3mao的博客 336

STL初步(上)

STL是指C++的标准模板库(Standard Template Library)。它很好用,但也很复杂。本节将介绍STL中的一些常用算法和容器,在后面的章节中还会继续介绍。入门喽!! 5.2.1排序与检索 例题5-1大理石在哪儿(WhereistheMarble?,UVa10474) 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。...

qq_62272360的博客 200

无限水平大理石游戏

这个迷宫游戏不是你通常的纸上迷宫。. .每个轨道由三个级别组成,一个在另一个之上。完成第一个迷宫/关卡后,大理石会从管子下落到下一个关卡。完成第二级,下降到第三级。无限关卡?至少尽可能地建造!每个级别都由 1cm x 1cm 的轨道单元构成,这些轨道单元可以很容易地连接在一起。每个级别的构建区域为 12 厘米 x 12 厘米,为您提供足够的区域来创建您想要的任何级别!我设计了许不同的轨道类型来创造更具挑战性的游戏玩法。所有设计步骤都是可选的,因为我将在后面的步骤中提供 STL 文件。设计步骤仅用于表明一

acktomas的博客 501

大理石在哪儿?(Stl lower_bound用法)

现有N个大理石,每个大理石上写了一个非负整数。首先把个数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数X,如果是,还要回答哪个大理石上写着X。排序后得大理石从左到右编号为1-N

不会思考的机器 518

STL初步

大理石在哪儿 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石上的数合并到一行,所有问题也合并到一行。) 样例输入: 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 样例输出: CASE #1:...

phthon1997的博客 176
上一篇: 二叉树:小球下落
下一篇: 安迪的第一个字典uva10815
Winner_小Z
博客等级 码龄10年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值