博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-1298-T9
阅读量:5338 次
发布时间:2019-06-15

本文共 1625 字,大约阅读时间需要 5 分钟。

HDU-1298-T9

很好的一题,字典树+DFS,思路参考swm8023大牛的

题意是模拟手机输入法,给出几个单词即频度,再给出几个数字串,确定对于给定的一个数字串,每输入一个数字,将显示什么字符

本题的数字串的每一个数字均代表一个字母,而不是平常的手机,多个数字可能代表一个字母,首先可将给出的单词即频度记录到字典树中,对于数字串进行DFS,查找其可能表示的频度最大的字符串

例如    ab  2

            bc  3

            23

23代表的字符串可能是ad,ae,af,bd,be,bf,cd,ce,cf,逐个搜索,找出频度最大的

#include
#include
#include
#include
using namespace std;struct node{ int count; node *childs[26]; node() { count=0; for(int i=0;i<26;i++) childs[i]=NULL; }};node *root;node *current,*newnode;int p;char s1[105],s2[105],find[105],ans[105];char phone[8][4]={
{0,1,2},{3,4,5},{6,7,8},{9,10,11},{12,13,14},{15,16,17,18},{19,20,21},{22,23,24,25}};int num[8]={3,3,3,3,3,4,3,4};void insert(char *str,int k) //插入字符串和它的频度{ int i,m; current=root; for(i=0;i
childs[m]!=NULL) { current=current->childs[m]; (current->count)+=k; } else { newnode=new node; (newnode->count)+=k; current->childs[m]=newnode; current=newnode; } }}void dfs(int cur,int len,node *nd){ if(cur==len) { if(nd->count>p) //找频度最大的 { p=nd->count; for(int i=0;i
childs[r]==NULL) continue; ans[cur]='a'+r; dfs(cur+1,len,nd->childs[r]); } return;}int main(){ int i,n,m,t,k,cnt,len; scanf("%d",&t); for(k=1;k<=t;k++) { printf("Scenario #%d:\n",k); scanf("%d",&n); root=new node; while(n--) { scanf("%s %d",s1,&cnt); insert(s1,cnt); } scanf("%d",&m); while(m--) { scanf("%s",s2); len=strlen(s2); for(i=1;i
0) printf("%s\n",find); else printf("MANUALLY\n"); } printf("\n"); } printf("\n"); } return 0;}

转载于:https://www.cnblogs.com/java0721/archive/2012/07/17/2602817.html

你可能感兴趣的文章
[疑难杂症]__点击win10屏幕最上方的边界会莫名其妙打开Internet Explorer浏览器,不胜其烦(2次ps:已解决!!!)....
查看>>
跳上球台+换手重杀! 马龙7个亚洲冠军创纪录
查看>>
Oracle 查询今日、昨日、本周、本月和本季度的所有记录
查看>>
测试正则表达式
查看>>
Vijos P1389婚礼上的小杉
查看>>
Codeforces Round #346 (Div. 2) E. New Reform
查看>>
【曾经】图片快速分割
查看>>
[R]R语言里的异常处理与错误控制
查看>>
[MySQL+PHP] 触发器及存储过程等MySQL功能在PHP中实现的坑
查看>>
MySQL 可以用localhost 连接,但不能用IP连接的问题,局域网192.168.*.* 无法连接mysql...
查看>>
python学习第七天—面向对象part1
查看>>
MySQL
查看>>
装饰器模式
查看>>
Linux下安装配置MediaWiKi全过程
查看>>
【转】使用maven 如何生成源代码的jar包
查看>>
ngx_php
查看>>
机器学习基础7--推荐系统
查看>>
C++中关键字static的作用
查看>>
手把手教你做手机婚恋网
查看>>
.net控制台程序Program args参数解析
查看>>