What Are You Talking About HDU - 1075
字典树部分非常好解决,只要把最后每个单词结尾处记录下翻译成了啥
但是输出很麻烦,要处理空格,回车,换行和标点符号
不过有string在,还行
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<istream>
using namespace std;
int n;
string s;
struct t{
int ne[28];
int cnt;
}tr[400001];
int p;
int l;
int x;
int po;
void add(){
//cout<<s<<" "<<l<<endl;
p=0;
for(int i=0;i<l;++i){
x=s[i]-'a'+1;//这么干就不会有0了
if(!tr[p].ne[x]){//没有就建
po++;
tr[p].ne[x]=po;
}
p=tr[p].ne[x];
tr[p].cnt++;//被经过次数即为前缀数
}
return ;
}
int query(){
p=0;
for(int i=0;i<l;++i){
x=s[i]-'a'+1;
if(!tr[p].ne[x]){
return 0;
}else{
p=tr[p].ne[x];
}
}
return tr[p].cnt;
}
int main(){
while(getline(cin,s)){
l=s.length();
if(l==0)
break;
add();
}
while(getline(cin,s)){
l=s.length();
cout<<query()<<endl;;
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用