129 - Krypton Factor
/*UVa129 - Krypton Factor
--回溯问题。看例子可知道确定该字符串是按照从左到右依次考虑每个位置,当前位置填不上所有的字符时,需要回溯。
--
*/
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<fstream>
#include<time.h>
#include<vector>
using namespace std;
const int maxn = 1000; char ans[maxn];
int k, L, tol;
bool flag; bool isleg(int curr){
bool res = 1;
int i, b;
for (b = 0; b < curr; b++){
int len = curr - b + 1;
if (len & 1)continue;
for (i = 0; i < len / 2; i++){
if (ans[b+i] != ans[i + b + len / 2])break;
}
if (i == len / 2)res = 0;
if (!res)break;
}
return res;
}
void dfs(int curr){
if (tol==k){ //搜索到了解
for (int i = 0; i < curr; i++){
if (i&&i % 4 == 0){
if (i%64== 0)printf("\n");
else printf(" ");
}
printf("%c", ans[i]);
}
printf("\n%d\n",curr);
flag = 1;
return;
}
if (flag)return;
for (char i = 'A'; i < 'A' + L; i++){
ans[curr] = i;
if (isleg(curr)){
tol++; //合法解,tol++
dfs(curr + 1);
}
}
}
int main(){
while (scanf("%d%d", &k, &L) && k&&L){
flag = 0;
tol = 0;
dfs(0);
}
return 0;
}
129 - Krypton Factor的更多相关文章
- UVA.129 Krypton Factor (搜索+暴力)
UVA.129 Krypton Factor (搜索+暴力) 题意分析 搜索的策略是:优先找长串,若长串不合法,则回溯,继续找到合法串,直到找到所求合法串的编号,输出即可. 注意的地方就是合法串的判断 ...
- Uva 129 Krypton Factor
0.这道题的输出 处理起来挺麻烦的 以后类似的可以借鉴一下 ;i<cur;i++) { && i%==) printf("\n%c",a[i]); & ...
- UVa 129 Krypton Factor【回溯】
学习的紫书的回溯,理解起来还是好困难的说啊= = #include<iostream> #include<cstdio> #include<cstring> #in ...
- UVa 129 Krypton Factor困难的串 (dfs 递归搜索)
回溯法,只需要判断当前串的后缀,而不是所有的子串 #include<iostream> #include<cstdio> using namespace std; ]; int ...
- UVA - 129 Krypton Factor (困难的串)(回溯法)
题意:求由字母表前L个字母组成的字典序第n小的困难串.(如果一个字符串包含两个相邻的重复子串,则称它是"容易的串",其他串称为"困难的串".) 分析:回溯时,检 ...
- UVa 129 Krypton Factor (DFS && 回溯)
题意 : 如果一个字符串包含两个相邻的重复子串,则称它是“容易的串”,其他串称为“困难的 串”.例如,BB.ABCDACABCAB.ABCDABCD都是容易的串,而D.DC.ABDAB. CBABCB ...
- uva 129 krypton factors ——yhx
Krypton Factor You have been employed by the organisers of a Super Krypton Factor Contest in which ...
- Krypton Factor
Krypton Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- UVA129 Krypton Factor 困难的串 dfs回溯【DFS】
Krypton Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
随机推荐
- ls目录结构
命令ls ls -l = ll -l 详细信息-a 查看隐藏的文件或目录-d 只看目录本身,不列出目录下面的文件和目录 一起使用一般 ls -ld-t 以时间先后排序-i 显示文件节点-h 显示字节大 ...
- 【bzoj3325】[Scoi2013]密码 逆模拟Manacher
题目描述 给出一个只包含小写字母的字符串的长度.以每一个字符为中心的最长回文串长度.以及以每两个相邻字符的间隙为中心的最长回文串长度,求满足条件的字典序最小的字符串. 输入 输入由三行组成.第一行仅含 ...
- [luogu4242] 树上的毒瘤
题目描述 这棵树上有n个节点,由n−1条树枝相连.初始时树上都挂了一个毒瘤,颜色为ci.接下来Salamander将会进行q个操作. Salamander有时会修改树上某个点到另外一个点的简单路径上所 ...
- 【ZBH选讲·拍照】
[问题描述] 假设这是一个二次元.LYK召集了n个小伙伴一起来拍照.他们分别有自己的身高Hi和宽度Wi.为了放下这个照片并且每个小伙伴都完整的露出来,必须需要一个宽度为ΣWi,长度为max{Hi}的相 ...
- CSU 2031
2031: Barareh on Fire Submit Page Summary Time Limit: 3 Sec Memory Limit: 512 Mb Submitt ...
- 7月11日day3总结
今天学习过程和总结 一 1.输出流的字符流.字节流 2.加锁.多线程的理解,产生的原因.cpu同时运行最大数.其他的都在及时切换.1.继承Thred类,重写run方法. 2.实现Runnable接口. ...
- css去掉点击连接时所产生的虚线边框技巧兼容符合w3c标准的浏览器
解决方法: 1.在css中加上outline:none; 代码如下: a.fontnav { text-align:left;color:#555; text-decoration:none; out ...
- JS操作checkBox
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...
- V4或者V7包重复冲突,但是不知道删除那个的问题
加这行代码在dependencies统一级别 configurations { all*.exclude group: 'com.android.support', module: 'support- ...
- 【linux高级程序设计】(第十一章)System V进程间通信 4
共享内存 共享内存主要用于实现进程间大量数据传输. 共享内存的数据结构定义: 系统对共享内存的限制: 共享内存与管道的对比: 可以看到,共享内存的优势: 1.共享内存只需复制2次,而管道需要4次 2. ...