UVa 10950 - Bad Code
题目:有一种编码方式。串仅仅有小写字母构成,每一个小写字母相应一个数字,如今给你妆化后的数字串,
问有多少个原串与之相应,注意数字串里可能有一个前导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;
}
UVa 10950 - Bad Code相关推荐
- 佛吉尼亚大学计算机世界排名,弗吉尼亚大学计算机科学专业介绍_计算机科学专业排名及就业方向和前景-小站留学...
录取要求 Background in Computer Science (including project work) Grade Point Average (GPA) Graduate Reco ...
- UVA 11557 - Code Theft (KMP + HASH)
UVA 11557 - Code Theft 题目链接 题意:给定一些代码文本.然后在给定一个现有文本,找出这个现有文本和前面代码文本,反复连续行最多的这些文本 思路:把每一行hash成一个值.然后对 ...
- UVa 740 - Baudot Data Communication Code
称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作. 给你适当的编码值.寻求相应的字符串. 分析:模拟.字符串. 简单题,标记shift的升降分类处理就可 ...
- UVa 1593 Alignment of code 解题报告
/练习输入输出 #include <bits/stdc++.h>using namespace std; void print(string str, int len) {if(str.l ...
- UVA 1593 Alignment of Code
题意: 输入后对齐输出. 思路: ①用一个vector数组装每行的字符. ②用整型数组len存每列最大的长度加一(多算一个空格),比如在样例输入中,第一列最大的是start:. 1 #include& ...
- UVA 11752 超级幂
UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & ...
- UVA 116 Unidirectional TSP DP
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&p ...
- Uva 11997 多路归并
题目链接:https://uva.onlinejudge.org/external/119/11997.pdf 题意: k*k的矩阵,从每一行中选一个元素加起来,可以得到 kk个和,求前 k 个最小值 ...
- uva live 4394 String painter 间隔dp
// uva live 4394 String painter // // 问题是,在培训指导dp运动主题,乍一看,我以为只是一点点复杂 // A A磕磕磕,两个半小时后,.发现超过例子.然而,鉴于他 ...
- Uva 10305 给任务排序
题目链接:https://uva.onlinejudge.org/external/103/10305.pdf 紫书P167 拓扑排序. dfs--从一个点出发,dfs 与之相连的所有点,把本身放入到 ...
最新文章
- Nginx和Tengine
- 盘点关于Java在生活中的应用!
- Intellij 14快捷键
- 计算机c盘隐藏了怎么办,win7怎么隐藏c盘 win7c盘被隐藏了怎么解除
- linux下配置squid 服务器,最简单使用方式
- vivo X30 5G版现身Geekbench:搭载三星Exynos 980
- 宁波大学计算机应用技术考研,宁波大学2021年计算机考研拟录取数据分析
- 数字化落后,工业就挨打!
- [笔记一]Essential JavaScript Design Patterns For Beginners
- jquery.blockui示例
- android关于讯飞语音包的开发
- 关于AD之PCB各层的简单说明
- 基于Multisim的声光控制路灯电路设计
- 中小学青少年编程创意机器人相关技术等级考试资料(含下载链接)
- 实验一 安装并熟悉Rational Rose 环境
- 不好好作图的NCS系列(二):3D版的PCA图
- 数据重复插入问题及解决方案
- 【渝粤题库】广东开放大学 PLC技术与应用 形成性考核
- MacBook触摸板常用的手势技巧
- Windows Server 磁盘空间不足怎么办