UVa 10950 - Bad Code
2024-09-07 06:55:23
题目:有一种编码方式。串仅仅有小写字母构成,每一个小写字母相应一个数字,如今给你妆化后的数字串,
问有多少个原串与之相应,注意数字串里可能有一个前导0。
分析:搜索。按字母顺序存储映射表,按字母顺序匹配搜索就可以。
说明:注意最多仅仅输出前100个。
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio> using namespace std; char buf[101]; int code[128];
char maps[128][5];
char letter[128]; int Count = 0;
char save[101];
void dfs(int s, int d, int n, int m)
{
if (Count == 100) return;
char word[101];
if (s == n) {
save[d] = 0;
printf("%s\n",save);
Count ++;
return;
}
for (int k = 0 ; k < m ; ++ k) {
int count = 0;
for (int i = s ; i < n ; ++ i) {
word[count ++] = buf[i];
word[count] = 0;
if (!strcmp(word, maps[k]) || (word[0] == '0' && !strcmp(word+1, maps[k]))) {
save[d] = letter[k];
dfs(i+1, d+1, n, m);
}
}
}
} int main()
{
int n,t = 1;
char c;
while (~scanf("%d",&n) && n) {
memset(code, 0, sizeof(code));
for (int i = 0 ; i < n ; ++ i) {
getchar();
scanf("%c",&c);
scanf("%d",&code[c]);
} int count = 0;
for (int i = 'a' ; i <= 'z' ; ++ i)
if (code[i] > 0 && code[i] < 100) {
letter[count] = i;
if (code[i] > 9) {
maps[count][0] = code[i]/10 + '0';
maps[count][1] = code[i]%10 + '0';
maps[count][2] = 0;
}else {
maps[count][0] = code[i] + '0';
maps[count][1] = 0;
}
count ++;
} scanf("%s",buf);
printf("Case #%d\n",t ++);
Count = 0;
dfs(0, 0, strlen(buf), count);
printf("\n");
}
return 0;
}
最新文章
- HDFS 与 GFS 的设计差异
- 在Windows Server 2012 R2上安装SharePoint 2013 with SP1失败,提示没有.net4.5的解决办法
- 【Java】模板方法模式
- JavaScript-setTimeout
- Uva 11538 - Chess Queen
- How to adjust OOM score for a process?
- Android——文件的保存和读取
- 遗传学详解及Matlab算法实现
- ASP.NET MVC 入门2、项目的目录结构与核心的DLL
- [洛谷1580]yyy loves Easter_Egg I
- XML and JSON 验证
- redis-如何在工程中使用redis
- c语言基础学习06
- paas saas iaas 区别
- ACE + TAO工程中的Messenger启动过程
- 最短路问题 Floyd+Dijkstra+SPFA
- BZOJ3123[Sdoi2013]森林——主席树+LCA+启发式合并
- php-fpm 配置文件检测
- HashMap 、HashTable、TreeMap、WeakHashMap的区别是什么
- 前端独立引用 ejs模版
热门文章
- Shorthand Argument Names $0 : 只用于指代Closer声明中的形参
- MySql(一)mysql服务的基本操作及环境配置
- wireshark mqtt协议解析
- http 1.0 http 1.1 http 2.0的区别
- VC++线程函数内怎么调用外部函数
- vue解决IOS10低版本白屏问题
- Delphi最简化异步选择TCP服务器
- 使用layer时控制台出现: Failed to load resource: the server responded with a status of 404 (Not Found)
- 采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)
- Windows下Eclipse+PyDev安装Python开发环境