20排队取奶茶

时间限制:1.000S  空间限制:128MB

题目描述

假设有一家奶茶店,现在有一些人在排队等待取奶茶,同时也有人在取奶茶。 请你设计一个程序模拟这种情况下的奶茶队列管理。

假设每个人取奶茶的时间非常短,可以忽略不计,只需要考虑队列中的操作。 

队列操作说明: 

1. 当操作为 1 时,表示有人已经取走奶茶,从队列中删除该人的信息。
2. 当操作为 2 时,表示有新人加入排队,将该人的信息加入队列。 

在一系列操作之后,你需要回答:下一个取奶茶的人是谁?

输入描述

第一行有一个整数 n,代表初始队列有 n 个人。 

第二行有 n 个字符串,代表当前奶茶队列中的人。 

第三行为一个整数 m,代表接下来将会有 m 次操作。 

接下来一共有 m 行,代表共有 m 次操作。 

如果是操作 1,那么该行只会有一个数字,代表有人取走了奶茶。
如果是操作 2,那么该行有一个数字和一个字符串,第一个数字 2 表示有人加入了奶茶队列,第二个字符串代表新加入的奶茶队列的人。

输出描述

输出只有一行,为下一个取奶茶的人。 如果已经没有去奶茶的人了,输出“There are no more people in the queue.”。

输入示例
5
Giselle Winter Aubree Wrenley Royalty
3
1
1
2 Andrew
输出示例
Aubree
 代码示例
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main()
{
    int n,m,opt;//表示有n个人
    cin >> n;
    string name;//排队队列中人的姓名
    queue<string> q;//创建一个队列,用于存储输入的字符串名称
    while(n--)
    {
        cin >> name;
        q.push(name);//使用push操作将名字推送到队列中
    }
    cin >> m;//输入m表示有m次操作
    while(m--)
    {
        cin >> opt;
        if(opt == 1 && !q.empty() )
        {
            q.pop();//出队
        }
        else{
            cin >> name;
            q.push(name);//入队
        }
    }
    if(q.empty())
    {
        cout << "There are no more people in the queue." << endl;
    }
    else{
        cout << q.front() << endl;
    }
    return 0;
}

### Elasticsearch 6.3.1 查询语法示例 对于Elasticsearch 6.3.1版本,`terms`查询可以用来查找指定字段包含某些特定词项的文档。例如,要查询`user`字段中包含`kimchy`或`elasticsearch`的文档,可使用如下请求: ```json GET /_search { "query": { "terms": { "user": [ "kimchy", "elasticsearch" ] } } } ``` 上述命令通过HTTP GET方法发送到Elasticsearch集群,返回的结果会列出所有符合条件的记录[^1]。 当执行更复杂的搜索操作时,比如想要获取含有特定评论的博客文章及其具体匹配的评论内容,则可以通过设置`inner_hits`参数来实现这一需求。下面是一个例子展示了如何构建这样的查询语句: ```json GET /blog/_search { "query": { "nested": { "path": "comments", "query": { "bool": { "must": [ {"match": {"comments.comment_text": "Elasticsearch"}} ] } }, "inner_hits": {} } } } ``` 此查询针对名为`blog`的索引,并假设存在嵌套对象`comments`,其中每个评论都有一个`comment_text`属性。该查询将找到所有在其任何子级`comments.comment_text`字段中含有单词“Elasticsearch”的父级文档(即博客帖子),并利用`inner_hits`显示这些匹配的具体位置[^2]。 另外,在实际应用过程中可能还需要过滤路径(`filter_path`)以减少响应数据量,提高效率。这可通过Python客户端API中的`es.search()`函数完成,如下的代码片段所示: ```python from elasticsearch import Elasticsearch client = Elasticsearch() response = client.search( index="my_index", doc_type="test_type", filter_path=["hits.hits._*"] ) print(response) ``` 这段脚本仅提取命中条目的核心部分,从而减少了不必要的网络传输开销和处理时间[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值