码迷,mamicode.com
首页 > 其他好文 > 详细

HDProblem-1251统计难题

时间:2014-07-29 11:33:06      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   文件   io   2014   for   

bubuko.com,布布扣bubuko.com,布布扣

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 
 5 typedef struct tire
 6 {
 7     struct tire *next[26];//由于是小写字母,所以26,数字10,大小写字母52
 8     int v;
 9 }Tire;
10 
11 Tire *root;        //头指针
12 
13 void Insert(char *a)
14 {
15     int len,i;
16     Tire *p=root,*q;
17     for(i=0;i<strlen(a);i++)
18     {
19         int id=a[i]-a;
20         if(p->next[id]==0)
21         {
22             q=(Tire *)malloc(sizeof(Tire));//malloc(sizeof( ))表示分配内存空间
23             q->v=1;                            //头文件是stdio.h
24             for(int j=0;j<26;j++)
25                 q->next[j]=0;
26             p->next[id]=q;
27             p=q;
28         }
29         else
30         {
31             p=p->next[id];
32             p->v=p->v+1;
33         }
34     }
35 }
36 
37 int findTire(char *str)
38 {
39     Tire *p=root;
40     for(int i=0;i<strlen(str);i++)
41     {
42         int id=str[i]-a;
43         if(p->next[id]==0)
44             return 0;
45         else
46             p=p->next[id];
47     }
48     return p->v;
49 }
50 
51 int main()
52 {
53     int i;
54     char temp[12];
55     root=(Tire *)malloc(sizeof(Tire));
56     for(i=0;i<26;i++)
57         root->next[i]=0;
58     root->v=2;
59     while(gets(temp),strcmp(temp,""))   //stcmp(temp,"")控制空行结束                
60         Insert(temp);                     //还可以用line[0]!=‘\0‘代替
61     memset(temp,\0,sizeof(temp));
62     while(scanf("%s",temp)!=EOF)
63         printf("%d\n",findTire(temp));
64 }

不太懂的最好看看http://www.cnblogs.com/grubbyskyer/p/3843243.html这篇博客,简单明了

HDProblem-1251统计难题,布布扣,bubuko.com

HDProblem-1251统计难题

标签:style   blog   http   color   文件   io   2014   for   

原文地址:http://www.cnblogs.com/len950717/p/3874192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!