hdu1251
来源:互联网 发布:java 长连接 框架 编辑:程序博客网 时间:2024/05/18 21:46
//在模板上稍微变下形就可以了
#include <iostream>#include<stdio.h>#include<string.h>#include<string>#include<cstdlib>using namespace std;const int maxnum=26;struct trie{ int flag; trie *next[maxnum];};trie *root;void init(){ int i; root=(trie *)malloc(sizeof(trie)); root->flag=0; for(i=0;i<maxnum;i++) root->next[i]=NULL;}void insert(char *word){ int i; trie *temp=root; while(*word!='\0') { if(temp->next[*word-'a']==NULL) { trie *cur=(trie *)malloc(sizeof(trie)); for(i=0;i<maxnum;i++) { cur->next[i]=NULL; //cur->next[i]->flag=0; } cur->flag=0; temp->next[*word-'a']=cur; } temp=temp->next[*word-'a']; temp->flag++; word++; }}/*int ans;void sum(trie *temp){ if(temp->flag==true) ans++; if(temp==NULL) return ; for(int i=0;i<maxnum;i++) { if(temp->next[i]!=NULL) sum(temp->next[i]); }}*/int search(char *word){ trie *temp=root; int i; for(i=0;word[i]!='\0';i++) { if(temp==NULL||temp->next[word[i]-'a']==NULL) return 0; temp=temp->next[word[i]-'a']; } return temp->flag;}int main(){ init(); char str[16]; while(gets(str)&&str[0]!='\0') insert(str); while(scanf("%s",str)!=EOF) { printf("%d\n",search(str)); } return 0;}
0 0
- hdu1251
- HDU1251
- hdu1251
- hdu1251
- hdu1251
- hdu1251
- hdu1251
- hdu1251
- hdu1251
- HDU1251
- hdu1251
- hdu1251
- HDU1251.cpp
- hdu1251 字符统计
- 统计难题 hdu1251
- HDU1251字典树
- hdu1251 字典树
- HDU1251统计难题
- 物联网的爆发点:六大因素正稳步壮大物联网
- HTTP代码 404,500,200代表什么意思
- linux中fork()函数的详解
- Tomcat 相关问题记录
- cp命令
- hdu1251
- 做游戏修改器的一点记录,有关大航海家3
- ActionBar
- 逻辑与界面相分离
- 【Python基础教程】第2章 列表和元组-2.2通用序列操作
- linux命令之玩转xargs
- message from server: "Too many connections"
- hdu 2112 HDU Today (Dijkstra + map)
- Java web学习