联想嵌入式软件实习笔试编程题

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《嵌入式软件笔试-2023年真题汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

第一题

在一些大学里,学生发表论文的话会有一定的奖学金加分。另外,对于一篇论文,其作者的顺序不同,加分也不相同。在本题中,一篇论文最多仅三个作者,其中第一作者加3分,第二作者加2分,第三作者加1分。在这一年,学校一共有n篇论文发表。你需要输出按照字典序从小到大输出每一名作者以及其对应的加分总数是多少。

 

输入描述

第一行输入一个正整数n(1n100),表示论文数量。

接下来n行,每一行第一个数字表示该篇论文的作者数,之后输入对应个数的仅由小写英文字母组成的字符串,每两个字符串用空格隔开。分别表示这一篇论文的第一作者,第二作者,....的名字。每一个作者的名字长度不超过 20。每一篇论文最多三个作者,且这三个作者名字都不同。

输出描述

按照字典序从小到大输出每个作者的名字以及其对应的加分总数,中间用空格隔开。每一个作者的信息单独输出一行。

 

样例输入

4

3 george annie jack

2 jack peter

2 peter bakh

1 zack

样例输出

annie 2

bakh 2

george 3

jack 4

peter 5

zack 3

#include <iostream>
#include <map>
#include <vector>
#include <string>
using namespace std;

int main() {
    int n;
    cin >> n;

    map<string, int> authorScores;
    for (int i = 0; i < n; ++i) {
        int authorCount;
        cin >> authorCount;
        
        for (int j = 0; j < authorCount && j < 3; ++j) {
            string authorName;
            cin >> authorName;
            
            // 根据作者顺序加分,第一作者3分,第二作者2分,第三作者1分
            authorScores[authorName] += 3 - j;
       

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要发布2024年(2025届)嵌入式软件开发相关岗位笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论
mark
点赞 回复 分享
发布于 04-21 11:49 广东
感谢分享
点赞 回复 分享
发布于 04-22 19:14 广东

相关推荐

3 12 评论
分享
牛客网
牛客企业服务