2024 年 6 月青少年软编等考 C 语言四级真题解析

embedded/2025/2/28 6:22:52/

目录

  • T1. 人以群分
    • 思路分析
  • T2. 那就别担心了
    • 思路分析
  • T3. 凑零钱
    • 思路分析
  • T4. 拼题 A 打卡奖励
    • 思路分析

T1. 人以群分

社交网络中我们给每个人定义了一个 “活跃度”,现希望根据这个指标把人群分为两大类,即外向型( o u t g o i n g outgoing outgoing,即活跃度高的)和内向型( i n t r o v e r t e d introverted introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入第一行给出一个正整数 N N N 2 ≤ N ≤ 1 0 5 2 ≤ N ≤ 10^5 2N105)。随后一行给出 N N N 个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过 2 31 2^{31} 231
  • 输出
    按下列格式输出:
    Outgoing #: N1
    Introverted #: N2
    Diff = N3
    
    其中 N 1 N1 N1 是外向型人的个数; N 2 N2 N2 是内向型人的个数; N 3 N3 N3 是两群人总活跃度之差的绝对值。
  • 样例输入 1
    10
    23 8 10 99 46 2333 46 1 666 555
    
  • 样例输出 1
    Outgoing #: 5
    Introverted #: 5
    Diff = 3611
    
  • 样例输入 2
    13
    110 79 218 69 3721 100 29 135 2 6 13 5188 85
    
  • 样例输出 2
    Outgoing #: 7
    Introverted #: 6
    Diff = 9359
    

思路分析

此题考查简单模拟,在四级考试中难度较低。

将输入数据进行排序,然后将第 1 ∼ ⌊ n / 2 ⌋ 1\sim \lfloor n/2\rfloor 1n/2 个人归为内向型,其余人归为外向型,分别计算活跃度之和,然后求出其差值即可。

/** Name: T1.cpp* Problem: 人以群分* Author: Teacher Gao.* Date&Time: 2025/02/22 13:55*/#include <iostream>
#include <algorithm>using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(0);int n, a[100005];cin >> n;for (int i = 1; i <= n; i++) cin >> a[i];sort(a + 1, a + n + 1);int outgoing = 0, introverted = 0;for (int i = 1; i <= n / 2; i++) introverted += a[i];for (int i = n / 2 + 1; i <= n; i++) outgoing += a[i];printf("Outgoing #: %d\n", n - n / 2);printf("Introverted #: %d\n", n / 2);printf("Diff = %d\n", outgoing - introverted);return 0;
}

T2. 那就别担心了

下图转自 “英式没品笑话百科” 的新浪微博 —— 所以无论有没有遇到难题,其实都不用担心。
在这里插入图片描述
博主将这种逻辑推演称为 “逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义……)。现给定一个更为复杂的逻辑推理图,本题就请你检查从一个给定命题到另一个命题的推理是否是 “逻辑自洽” 的,以及存在多少种不同的推理路径。例如上图,从 “你遇到难题了吗?” 到 “那就别担心了” 就是一种 “逻辑自洽” 的推理,一共有 3 3 3 条不同的推理路径。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入首先在一行中给出两个正整数 N N N 1 < N ≤ 500 1 < N ≤ 500 1<N500)和 M M M,分别为命题个数和推理个数。这里我们假设命题从 1 1 1 N N N 编号。
    接下来 M M M 行,每行给出一对命题之间的推理关系,即两个命题的编号 S 1 , S 2 S_1, S_2 S1,S2,表示可以从 S 1 S_1 S1 推出 S 2 S_2 S2。题目保证任意两命题之间只存在最多一种推理关系,且任一命题不能循环自证(即从该命题出发推出该命题自己)。
    最后一行给出待检验的两个命题的编号 A , B A, B A,B
  • 输出
    在一行中首先输出从 A

http://www.ppmy.cn/embedded/167736.html

相关文章

现在集成大模型的IDE,哪种开发效率最高

目录 1. Visual Studio Code GitHub Copilot 2. JetBrains IDE&#xff08;IntelliJ/PyCharm等&#xff09; Copilot/Codeium 3. Cursor 4. 云IDE&#xff08;GitHub Codespaces / Replit&#xff09; 5. Amazon CodeWhisperer 效率对比与选择建议 未来趋势 1. Visual …

Linux提权之docker提权(十三) 链接第八篇完整版

书接上回 实验环境一样的 第八篇 我们用ssh密钥登陆后 发现我们web1的权限 当我们拿到web1的权限时 我们无法提权(这里我用的继续十二的环境 大家也可以继续) 所以我们首先要提权(当然必须是一个完整的 tty shell 不会的 我们去看第二篇 当然我下边也给你表注明了) python3…

进程 ─── linux第10课

目录 回顾上一节 进程 基本概念 描述进程 - PCB task_struct - PCB的一种 task_ struct内容分类 组织进程 下面来介绍task_struct内部 PID 和PPID 子进程与父进程 getpid()和getppid() 杀进程 exe 和 cwd 回顾上一节 1. 如果我们写的程序要访问硬件,必定通过sy…

远程办公2.0:从“被迫适应”到“主动进化”的未来工作革命

远程办公2.0时代&#xff1a;从“被迫适应”到“主动进化”的未来工作革命 ——前沿技术与趋势预测全解析 引言&#xff1a;一场不可逆的全球工作革命 2020年的一场疫情&#xff0c;让全球职场人第一次大规模体验了远程办公的“生存模式”&#xff0c;而五年后的今天&#xff…

【走方格——BFS,增加更新方式】

题目 代码 #include <bits/stdc.h> using namespace std;const int N 1010;int n, w[N][N]; int dist[N][N];struct pll {int x, y; };int bfs() {memset(dist, 0x3f, sizeof dist);queue<pll> q;q.push({0, 0});dist[0][0] 0;while (q.size()){pll u q.front(…

【AI+智造】用DeepSeek支持设备温度、振动、速度、加速度量化数据的应用方案——以常州新能源动力电池制造企业为例

作者&#xff1a;Odoo技术开发/资深信息化负责人 日期&#xff1a;2025年2月25日 一、常州制造业特点与行业选择依据 常州作为“中国新能源之都”&#xff0c;其制造业的核心竞争力体现在新能源产业链的垂直整合能力、智能化升级需求以及科创资源的集聚效应。2024年&#xff0…

浮点数比较大小问题

public static void main(String[] args) {double a 413;double b 0.4;double c 165.2;System.out.println("a*b " a*b);System.out.println("a*b > c 的结果是&#xff1a;" (a*b > c));} 输出&#xff1a; a*b 165.20000000000002 a*b >…

Nginx系列05(负载均衡、动静分离)

目录 Nginx 负载均衡 Nginx 动静分离 Nginx 负载均衡 概念&#xff1a;负载均衡是一种将网络流量分摊到多个后端服务器&#xff08;节点&#xff09;上的技术&#xff0c;以提高系统的可用性、性能和可扩展性。通过负载均衡&#xff0c;Nginx 可以根据一定的算法将客户端请求…