news 2026/7/8 1:02:59

C++课后习题训练记录Day152

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++课后习题训练记录Day152

1.练习项目 :

题目描述

给定 N 个字符串 S1,S2,...,SN 和 M 个询问,每个询问包含一个字符串 Ti​,问 Ti​ 是否在 S1​ 或 S2​ ... 或 SN​ 的前缀出现过。

输入描述

输入第一行包含两个整数 N,M ,分别表示给定字符串的数量和询问的个数。

第 2∼N+1 行每行包含一个字符串 Si​。

接下来 M 行每行包含一个字符串 Ti​。

1≤N,M≤105。2≤∣S1+...+SN+T1+...+TM)∣≤2×106。

保证 Si,Ti 只包含小写字母。

输出描述

输出共 M 行,每行包含一个整数,表示对应询问的回答。

若存在则输出 Y,否则输出 N。

2.选择课程

在蓝桥云课中选择题库,选择题号1204并开始练习。

3.开始练习

(1)源码 :

#include<bits/stdc++.h>

using namespace std;

typedef unsigned long long ull;

const int N=2e6+10;

int nex[N][26];

int cnt[N];

int idx=2;

void insert(char s[])

{

int x=1;

for(int i=0;s[i];i++){

if(!nex[x][s[i]-'a'])nex[x][s[i]-'a']=idx++;

x=nex[x][s[i]-'a'];

}

}

bool check(char s[])

{

int x=1;

for(int i=0;s[i];i++)x=nex[x][s[i]-'a'];

return x;

}

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n,m;cin>>n>>m;

for(int i=1;i<=n;i++){

char s[N];cin>>s;

insert(s);

}

for(int i=1;i<=m;i++){

char s[N];cin>>s;

cout<<(check(s)?"Y":"N")<<'\n';

}

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法 是否切换 为英语模式;语法是否错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 1:01:11

正态分布不是人工拟合曲线,是无限对称双螺旋节点围绕期望主干均匀偏移形成的钟形原生频次图谱-《全域数学vs传统数学:人类文明进阶200讲》第65讲 高中通俗版逐字稿

《全域数学vs传统数学&#xff1a;人类文明进阶200讲》第65讲 高中通俗版逐字稿 讲次&#xff1a;第65讲 作者&#xff1a; 乖乖数学 主题&#xff1a;正态分布不是人工拟合曲线&#xff0c;是无限对称双螺旋节点围绕期望主干均匀偏移形成的钟形原生频次图谱 对标课本知识点&am…

作者头像 李华
网站建设 2026/7/8 0:55:29

PHP 8.4新特性下的WebShell攻防演进与防御策略

1. 项目概述&#xff1a;当PHP 8.4遇见WebShell作为一名在Web安全领域摸爬滚打了十多年的老兵&#xff0c;我亲眼见证了PHP语言的每一次重大迭代&#xff0c;以及随之而来的攻防博弈升级。最近&#xff0c;PHP 8.4的预览版特性陆续公布&#xff0c;社区里讨论得热火朝天。但我的…

作者头像 李华