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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵