C++课后习题训练记录Day152 📅 2026/7/8 1:03:14 1.练习项目 题目描述给定 N 个字符串 S1,S2,...,SN 和 M 个询问每个询问包含一个字符串 Ti问 Ti 是否在 S1 或 S2 ... 或 SN 的前缀出现过。输入描述输入第一行包含两个整数 N,M 分别表示给定字符串的数量和询问的个数。第 2∼N1 行每行包含一个字符串 Si。接下来 M 行每行包含一个字符串 Ti。1≤N,M≤105。2≤∣S1...SNT1...TM)∣≤2×106。保证 Si,Ti 只包含小写字母。输出描述输出共 M 行每行包含一个整数表示对应询问的回答。若存在则输出 Y否则输出 N。2.选择课程在蓝桥云课中选择题库选择题号1204并开始练习。3.开始练习1源码 #includebits/stdc.husing namespace std;typedef unsigned long long ull;const int N2e610;int nex[N][26];int cnt[N];int idx2;void insert(char s[]){int x1;for(int i0;s[i];i){if(!nex[x][s[i]-a])nex[x][s[i]-a]idx;xnex[x][s[i]-a];}}bool check(char s[]){int x1;for(int i0;s[i];i)xnex[x][s[i]-a];return x;}int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cinnm;for(int i1;in;i){char s[N];cins;insert(s);}for(int i1;im;i){char s[N];cins;cout(check(s)?Y:N)\n;}return 0;}2检验结果对此代码进行检验检验后无报错提交此代码判题结果为正确100分。3练习心得注意每段代码末尾的分号是否存在如不存在则需即使补充输入法 是否切换 为英语模式语法是否错误。