当前位置: 首页 > article >正文

2021 年 12 月青少年软编等考 C 语言六级真题解析

目录

  • T1. 电话号码
    • 思路分析
  • T2. 字符串插入
    • 思路分析
  • T3. 栈基本操作
    • 思路分析
  • T4. 滑动窗口
    • 思路分析

T1. 电话号码

题目链接:SOJ D1137

给你一些电话号码,请判断它们是否是一致的,即是否有某个电话是另一个电话的前缀。比如:

Emergency 911
Alice 97 625 999
Bob 91 12 54 26

在这个例子中,我们不可能拨通 Bob 的电话,因为 Emergency 的电话是它的前缀,当拨打 Bob 的电话时会先接通 Emergency,所以这些电话号码不是一致的。

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

  • 输入
    第一行是一个整数 t t t 1 ≤ t ≤ 40 1 ≤ t ≤ 40 1t40,表示测试数据的数目。
    每个测试样例的第一行是一个整数 n n n 1 ≤ n ≤ 10000 1 ≤ n ≤ 10000 1n10000,其后 n n n 行每行是一个不超过 10 10 10 位的电话号码。
  • 输出
    对于每个测试数据,如果是一致的输出 YES,如果不是输出 NO
  • 样例输入
    2
    3
    911
    97625999
    91125426
    5
    113
    12340
    123440
    12345
    98346
    
  • 样例输出
    NO
    YES
    

思路分析

此题考查哈希算法,属于基础题。

可以使用 S T L \tt STL STL 中的 m a p \tt map map 来实现哈希。先将所有电话号码加入哈希表,并记录出现次数。然后依次检测输入的每个电话号码 x x x,如果它自身出现次数超过 1 1 1 次,则说明电话号码不一致。否则就枚举它的所有前缀子串,在 m a p \tt map map 中检测是否已经出现过,如果出现过,则说明存在一个电话号码是该号码的前缀,即电话号码不一致。

/*
 * Name: T1.cpp
 * Problem: 电话号码
 * Author: Teacher Gao.
 * Date&Time: 2025/03/12 17:18
 */

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;

int main()
{
   
    ios::sync_with_stdio(false);
    cin.tie(0);

    int t, n;
    cin >> t;

    while (t--) {
   
        LL a[10005];
        map<LL, int> mp;
        string ans = "YES\n";

        cin >> n;
        for (int i = 1; i <= n; i++) {
   
            cin >> a[i];
            mp[a[i]]++;
        }

        for (int i = 1; ans == "YES\n" && i <= n; i++) {
   
            if (mp[a[i]] > 1) {
   
                ans = "NO\n";
                break;
            }
            while (a[i]) {
   
                a[i] /= 10;
                

http://www.kler.cn/a/588282.html

相关文章:

  • Html5星空流星页面经验总结
  • C语言每日一练——day_9
  • AI绘画笔记--基础知识
  • Tomcat - Session 会话保持
  • 大模型的参数数量与学习的知识数量之间
  • CSS -position(定位)
  • 81.HarmonyOS NEXT 状态管理与响应式编程:@Observed深度解析
  • Redisson 实现分布式锁源码浅析
  • 【leetcode hot 100 230】二叉搜索树中第K小的元素
  • 【BERT和GPT的区别】
  • 向量数据库技术系列一-基本原理
  • C++博客分享
  • C++初阶——类和对象(三) 构造函数、析构函数
  • 【Gee】项目总结:模仿 GIN 实现简单的 Golang Web 框架
  • Excel(函数篇):Vlookup函数 详细用法
  • 最大公约数+最小公倍数
  • Kubernetes 中metrics-server的采集周期,采集链路是什么样的?
  • Vue学习笔记集--六大指令
  • NAT、代理服务器、内网穿透和内网打洞
  • 【web逆向】优某愿 字体混淆