电话号码
来源:互联网 发布:php空间销售系统源码 编辑:程序博客网 时间:2024/04/28 14:39
电话号码
源程序名 phone.???(pas, c, cpp)
可执行文件名 phone.exe
输入文件名 phone.in
输出文件名 phone.out
【问题描述】
电话机上每一个数字下面都写了若干个英文字母。分布如下:
1~abc
2~def
3~ghi
4~jkl
5~mn
6~opq
7~rst
8~uvw
9~xyz
现在给定一个单词表和一串数字密码,请你用单词表中的单词翻译这个密码。
【输入】
第一行为一个正整数N表示单词表中单词的个数(N≤100);
第二行为一个长度不超过100的数字串,表示密码;
接下来的N行,每行一个长度不超过20的单词,表示单词表。
【输出】
仅一行,表示翻译后的原文,如果密码无法翻译,则输出“No Solutions!”,如果密码有多种翻译方式,则输出任意一种即可。
【样例】
phone.in phone.out
8 thi shs b boo k
73373711664
thi
shs
this
is
b
a
boo
k
=====================
一个深搜就可以了.
主要方法:把每个单词转化成对应的数字串。搜索中在加个check,判断就行了.
=====================
const pho:array['a'..'z']of char= ('1','1','1','2','2','2','3','3','3','4','4','4','5','5','6','6','6','7','7','7','8','8','8','9','9','9'); // a b c d e f g h i j k lvar n,m:longint; num:array[1..100]of string; num_:array[1..100]of string; //f:array[1..100]of boolean; st:string; procedure init;begin assign(input,'phone.in'); assign(output,'phone.out'); reset(input); rewrite(output);end;procedure terminate;begin close(input); close(output); halt;end;function check(a:string;var b:string):boolean;var i:longint;begin check:=false; for i:=1 to n do if a=num_[i] then begin b:=num[i]; exit(true); end;end;procedure dfs(t:longint;st_:string);var i:longint; st__,st1:string;begin if t=m+1 then begin for i:=1 to length(st_)-1 do write(st_[i]); terminate; end; st__:=''; for i:=t to m do begin st__:=st__+st[i]; if check(st__,st1) then begin dfs(i+1,st_+st1+' '); end; end;end;procedure main;var i,j:longint;begin readln(n); readln(st); m:=length(st); for i:=1 to n do begin readln(num[i]); num_[i]:=''; for j:=1 to length(num[i]) do num_[i]:=num_[i]+pho[num[i][j]]; end; //fillchar(f,sizeof(f),true); dfs(1,''); writeln('No Solutions!');end;begin init; main; terminate;end.
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 电话号码
- 查找电话号码
- 电话号码验证
- 查找电话号码
- 电话号码问题
- 电话号码规则
- 电话号码规则
- 电话号码规则
- 使用二维指针,实现单位矩阵(z)
- taffy DB笔记
- 单片机模块化编程
- C#求解阶乘(递归、非递归版本)+冒泡排序算法
- 雅虎团队经验:网站页面性能优化的34条黄金守则
- 电话号码
- 解决xmlHttp.responseText显示的全部是HTML
- Windows XP + VC 6.0 + WinXP_DDK + DriverStudio 3.2
- 编写存储过程,并且使用java代码调用存储过程的简单例子
- C#变量内存存贮问题
- C#发邮件 两种方法 实例
- 一个典型的字符设备驱动,带平台设备与驱动注册
- pku 1835解题报告
- 后端程序员快速学习flash/actionscript交互一点点总结