您的位置:首页 > 房产 > 家装 > 最新网页版传奇_滁州网站建设联系方式_a站_成全在线观看免费高清动漫

最新网页版传奇_滁州网站建设联系方式_a站_成全在线观看免费高清动漫

2025/4/21 0:27:16 来源:https://blog.csdn.net/qq_39710484/article/details/136786379  浏览:    关键词:最新网页版传奇_滁州网站建设联系方式_a站_成全在线观看免费高清动漫
最新网页版传奇_滁州网站建设联系方式_a站_成全在线观看免费高清动漫

目录

  • 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;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com