Sleeping_zZ. 2022-05-15 19:17 采纳率: 73.3%
浏览 69
已结题

C++ 代码运行结果一样,但是提交出错 神犇们帮我检查一下呗

问题描述
小学毕业后,同学们都进入了不同的初中,小明非常想念小伙伴们,所以他打算联系小学的同学们。 现在他得到了市内某所初中的所有名单,找出其中小明的小伙伴们。

输入
第一行一个整数 n ,表示某初中人数。

接下来 n 行,每行一个字符串,只有小写字母组成,表示该校每个人的拼音。数据保证没有人拼音相同,且已经按照字典序从小到大排序。

第 n+2 行有一个整数 m ,表示小明的小伙伴个数。

最后 m 行,每行一个字符串,只有小写字母组成,表示每个小伙伴的拼音,同样保证没有重复。

输出
输出所有在该校的小伙伴的拼音。

每行一个拼音,顺序按照小伙伴给出的顺序。

样例
输入数据 1
3
alice
bob
zhangsan
2
lisi
zhangsan
输出数据 1
zhangsan

以下是代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int m, n, l, r, sum = 0;
    cin >> n;
    char a[n][20], b[20];
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    cin >> m;
    for(int i = 0; i < m; i++){
        cin >> b;
        l = -1;
        r = n;
        while(l + 1 < r){
            sum = (l + r) / 2;
            if(strcmp(a[sum], b) >= 0){
                r = sum;
            }else{
                l = sum;
            }
        }
        if(! strcmp(a[r], b)){
            cout << a[r];
        }
    }
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-05-15 19:36
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月15日
  • 已采纳回答 5月15日
  • 修改了问题 5月15日
  • 创建了问题 5月15日

悬赏问题

  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题
  • ¥15 汇编语言实现加减法计算器的功能
  • ¥20 关于多单片机模块化的一些问题
  • ¥30 seata使用出现报错,其他服务找不到seata
  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃