《ACM书中题目》X

从一道题目看蓝桥杯与ACM的区别 我不讨论蓝桥杯的好坏,也不吹捧acm,就从一道题目来看两者的区别。当然我并不是用前者的一道简单题和World final的真题来进行比较,不然就没有意义了,这篇博客的意义就在于前者和后者思考问题思路的不同之处。 废话说完,看题。蓝桥杯某题:一副扑克牌,去掉大小王,剩52张牌,均分给4人,每人13张牌,若不计花色,则这13张牌的可能序列有多少种?-->这原本是一道经典的多重集组合问题,用dp求解( 阅读详情
  • 原题

    Description
    Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers:
    Emergency 911
    Alice 97 625 999
    Bob 91 12 54 26
    In this case, it’s not possible to call Bob, because the central would direct your call to the emergency line as soon as you had dialled the first three digits of Bob’s phone number. So this list would not be consistent.
    Input
    The first line of input gives a single integer, 1 <= t <= 40, the number of test cases. Each test case starts with n, the number of phone numbers, on a separate line, 1 <= n <= 10000.Then follows n lines with one unique phone number on each line. A phone number is a sequence of at most ten digits.
    Output
    For each test case, output “YES” if the list is consistent, or “NO” otherwise.

  • 理解思路
    本题是查找一个数是否在另一个数的前边出现过,如果逐条查找,会造成超时。所以应该将数据先排序,然后在有序数列中依次查找一条数据的后一个。

  • AC代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    vector<string>v;
    string s;
    int n,i,j,k,m;
    cin>>n;
    for(i=0;i<n;i++)
    {
        v.clear();
        cin>>m;
        for(j=0;j<m;j++)
        {
            cin>>s;
            v.push_back(s);
        }
        sort(v.begin(),v.end());
        for(k=0;k<m-1;k++)
        {
            if(v[k+1].find(v[k])==0)
            {
                cout<<"NO"<<endl;
                goto RL;
            }
        }
        cout<<"YES"<<endl;
        RL:continue;
    }
}
  • 总结
    要注意每次大循环对数组的初始化操作,否则只能成功第一组数据。
    从ACM书中学到”goto”操作,比开始用flag做标识更简洁易懂。
ACM大赛编程题目及解答集 ACM国际大学生程序设计竞赛(ACM/ICPC)是一项全球性的计算机程序设计竞赛,其历史可以追溯到1970年。最初由美国计算机协会(ACM)主办,至今已发展成为世界上最具权威的计算机竞赛之一,吸引来自全球各知名大学的计算机科学及相关专业的学生参与。竞赛旨在提升学生们的算法分析、编程能力,以及团队协作能力。本章将探讨ACM/ICPC的由来、赛事发展的历程、以及其独特的竞赛规则。 阅读详情

相关推荐

SRAM compiler选项中 Soft Error Repair (SER)

引起的瞬时故障,可能会影响 SRAM 中存储的数据。SER 功能通过某种机制检测并修复这些错误,从而提高存储器的可靠性。在 SRAM 编译器中,

hzmscut的博客 1154

【HDU 1671】 Phone List 字典树 模板题

Problem Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 In this case, it’s no

待到山花烂漫时 312

PCB激光直接成像(LDI)设备技术解析与优化方案

激光直接成像(LDI)是PCB制造中的关键数字化工艺,通过激光束直接在基板上形成电路图案。其核心技术在于高精度光学系统与智能控制算法的结合,工作精度可达微米级。在HDI板、柔性电路等高端PCB制造中,LDI技术能显著提升线宽精度和层间对位准确性。当前行业面临材料适配性、热变形控制等挑战,动态能量补偿、多波长曝光等创新方案正在突破这些瓶颈。随着模块化设计、预测性维护等工程实践的普及,LDI设备综合效率持续提升,为5G、汽车电子等领域的精密电路生产提供关键技术支撑。

weixin_29168393的博客 391

电话列表。

Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 In this case, it's not possible to ...

weixin_64393298的博客 717

未隔离电源设备使用usb转串口调试导致串口模块爆炸烧坏事故记录

这个事就发生在前两天,我们公司的wifi模块被客户用到了咖啡机上,客户寄了一台整机给我们协助调试,还送了几包咖啡豆,本想着还能打个咖啡喝一喝的,但就在咖啡机刚寄过来第一天,就出事了。而这个事故的发生,竟然仅仅是因为同事接了个串口模块到电脑调试打印导致的。谁也想不到,这个3.3V的供电的wifi模块居然还有这么大的威力。直接将usb转TTL串口模块的转换芯片给爆开了,咖啡机也给弄坏了,据同事描述当时情况就只见到一片火光和一声巨响,状况比较惨烈,所幸的是笔记本电脑没有烧坏,但是直接给崩蓝屏了。 ...

fangye945a的博客 6192

20240128 C#与SCPI协议实战:轻量级仪器控制库ScpiNet应用指南

本文详细介绍了轻量级C#库ScpiNet在仪器控制中的应用。相较于传统的NI-VISA,ScpiNet无需安装庞大运行时,通过纯C#实现直接与USB或以太网设备通信,支持跨厂商SCPI仪器。文章提供了从快速连接到实战封装、错误处理的完整指南,帮助开发者构建简洁高效的自动化测试系统。

h9j8k7l6m5n的博客 547

tire(前缀树)--Phone List

Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: Emergency 911 Ali...

小糊涂的博客 436

STM32F103C8T6+A4988驱动42步进电机全流程(附接线图+代码解析)

本文详细介绍了使用STM32F103C8T6单片机与A4988驱动模块控制42步进电机的完整流程。内容涵盖硬件接线图解析、电流设置、GPIO驱动代码编写以及细分控制等核心实践,旨在帮助嵌入式开发者和DIY爱好者快速实现精准运动控制,适用于3D打印机、CNC等需要精密定位的项目。

Python的专栏 793

1090.Phone List

Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 In the case, it’s not pos

zoloftkiller的博客 618

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 404

【人工智能】人工智能基础概念、流派、发展史

人工智能初衷就是让计算机能够像人类一样具有自我思考、自我学习、自我决策的能力。依据百度百科上对人工智能定义:人工智能是研究、开发用于模拟、扩展和延伸人的智能的理论、方法、技术及应用系统的一门新的技术学科。人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。

WEL测试 1882

HDU1671 Phone List

题目: Phone List Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers:Emer

Monster_Day的博客 5073

Python爬虫实战:用Playwright+Transformer做财经新闻事件驱动分析,我靠它抓住了算力政策的涨停机会

对我来说,这套系统最大的价值不是抓住了几次涨停,而是把“看新闻→分析→决策”的全流程自动化、量化了——不用再被股吧的情绪带偏,不用再熬夜刷新闻,而是用数据和模型做理性判断。更重要的是,搭建这套系统的过程,我吃透了Playwright动态爬虫、Transformer文本分析、量化数据对接这些核心技能,这些技能不管是做量化、做数据分析师,还是做其他领域的爬虫,都能用得上。现在打开PyCharm,跟着代码跑一遍,你也能从海量财经新闻里,挖出属于自己的事件驱动信号——与其靠感觉炒股,不如靠数据说话。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1391

《ACM程序设计》书中题目X

Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers: Emergency 911 Alice 9

TimEckel的博客 448

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

《ACM程序设计》书中题目 X - 24 打电话

Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: - Emergency 911 -

G_Meteor的博客 646

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

《ACM程序设计》书中题目X(拨错号码?)

Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: - Emergency 911 -

July_xunle的博客 461

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ACM程序设计书中题目--X(电话号码序列)

题意简述:给定几行电话号码,短号作为前缀,然后判断是否每个号码都能打出去。即911是911234的前缀,所以911234打不出去。 解题思路: 1、可以将每一行号码存到一个结构体中,然后对所有的号码按照长短进行排序。 2、排序结束后首先以第一行号码为标准,判断是否是之后号码的前缀。即在该号码的长度范围内,用strncmp函数进行判断,若一样,直接输出NO,进行下一组测试样例的检测。 3、若

sdau164185的博客 401

《ACM程序设计》书中题目X 第二十四题 电话号码

1.简单描述

jinghui_7的博客 244

acm所有题目整合

今天,樱子在学习数组。长度为 n 的数组 a 如果并且只有在以下情况下才被认为是好数组:樱子想到了边界 l 和 r ,并希望构造一个最大长度的好数组,其中 l≤ai≤r 代表所有 ai 。请帮助樱子找出给定的 l 和 r 的最佳数组的最大长度。 这题主要就是要找到第增的最大子数列,还是贪心,前面经量少,后面才会大;对于某个排列 p ∗ 如果可以通过赋值 i=pi 一定次数使 i 等于 j ,则樱子称整数 j 可以从整数 i 到达。如果是 p=[3,5,6,1,2,4] ,那么,举例来说, 4 可以从 1

2503_90393437的博客 1805

ACM 比赛习题解说:从题目到解法的全流程

AKruskal算法是一种基于边的贪心算法,主要思路是从最小权重的边开始,不断地选择不会产生环的边,直到所有节点都连通。将所有边按权重从小到大排序。依次选择边,使用并查集判断加入这条边是否会形成环。如果不会形成环,就将这条边加入生成树,并更新总成本。重复这个过程,直到所有节点都连通。A并查集(Union-Find)是一种常用的数据结构,适用于处理连通性问题。Find:查找某个节点属于哪个集合。Union:将两个集合合并。

byby0325_的博客 1450

《ACM程序设计》书中题目M

Description As part of an arithmetic competency program, your students will be given randomly generated lists of from 2 to 15 unique positive integers and asked to determine how many items in each lis

TimEckel的博客 531

《ACM 书中题目》 N

题目 The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient plays are tragedies. Therefore the dramatic advisor of ACM has decided to transfigure som

qinglys的博客 489

acm,关于搜索题目

ACM Description X,作为户外运动的忠实爱好者,总是不想呆在家里。现在,他想把死宅Y从家里拉出来。问从X的家到Y的家的最短时间是多少。 Input 多组输入。每组测试数据首先输入两个整数n,m(1 Output 若X可以到达Y的家,输出最少时间,否则输出 -1。 Sample Input 3 3 X#Y ***

qz13110802018的专栏 582

ACM题目 最长回文子串

ACM题目 最长回文子串 题目描述 求出字符串中最长的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。在判断时,应该忽略所有标点符号和空格,且忽略大小写。 输入 输入字符串有多行,但每个字符串长度不超过5000,且每个字符串占据单独的一行。 输出 依次输出每个字符串中最长的回文串,需要保持原样(在回文串的首部和尾部不要输出多余字符),...

菜鸟的后花园 993

ACM题目 1030: [编程入门]二维数组的转置

ACM题目 1030: [编程入门]二维数组的转置 题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 无 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 6 9 答案: #include <stdio.h> #define W 3 #define L 3 void tran(int a[W][L]); int main() { int a[W][L],g,h; for(g=0;g<W;g+

Endlin Boeingstein的博客 548

一道题带你认识ACM竞赛

说明:这是我们学校ACM公众号的一篇推送,我感觉我写的挺好的,顺便放在博客当纪念啦~! 以下是正文: 这一篇推送将带你们真真正正走近ACM比赛的世界。        阅读此文章你需要简单的C或C++编程基础,没有编程基础也没关系,我们会由浅入深,用最简单易懂的语言去介绍。 什么是编程?

LP_Cong 3万+
上一篇: 《ACM书中题目》T
下一篇: 《ACM书中题目》Y
qinglys
博客等级 码龄10年 0粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值