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日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?