【CSDN|每日一练】代写匿名信

举报
海轰Pro 发表于 2022/11/23 19:41:44 2022/11/23
【摘要】 @TOC 运行结果 题目描述小Q想要匿名举报XX领导不务正业! 小Q害怕别人认出他的字迹。他选择从报纸上剪裁下来英文字母组成自己的举报信。现在小Q找来了报纸,和自己的举报信的Txt, 你能帮他确定一下是否能够完成匿名信吗? 输入描述:第一行输入报纸上的英文。第二行输入小Q匿名信的内容。 (1<=len(str)<=10000) 输出描述:如果能完成输出”Yes”,否则输出”No”。 示例 代...

@TOC

在这里插入图片描述

运行结果

在这里插入图片描述

题目描述

小Q想要匿名举报XX领导不务正业! 小Q害怕别人认出他的字迹。

他选择从报纸上剪裁下来英文字母组成自己的举报信。

现在小Q找来了报纸,和自己的举报信的Txt, 你能帮他确定一下是否能够完成匿名信吗?

输入描述:

第一行输入报纸上的英文。

第二行输入小Q匿名信的内容。 (1<=len(str)<=10000)

输出描述:

如果能完成输出”Yes”,否则输出”No”。

示例

在这里插入图片描述

代码

题目意思:

  • 简单理解就是报纸(words)中的英文单词是否可以构成信的内容
  • 按照例子,意思就是das这三个字母是否存在与报纸上(由内容构成)

思路:

  • 简单模拟判断即可

完整代码


// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改



#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

std::string solution(std::string words, std::string msg){
    // TODO:
    unordered_set<char> us;
    for(char c : words) {
        us.insert(c);
    }
    for(char c : msg) {
        if(us.count(c) == 0) {
            return "No";
        }
    }
    return "Yes";
}

int main() {

    std::string words;
    std::string msg;

    getline(std::cin, words);
    getline(std::cin, msg);

    std::string result = solution(words, msg);

    std::cout<<result<<std::endl;

    return 0;
}

运行结果

在这里插入图片描述

注意:

  • 题目意思不明确,多读一会才理解
  • 写完代码反应过来还是有点问题(居然还过了所有测试用例??)
  • 其实应该还要与单词个数有关(比如words中只有一个字母a,但是msg需要2个a,则return no,这时候应该使用unordered_map计数就好了…)

结语

Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
 
ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
 
唯有努力💪

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。