紫书搜索 例题7-5 UVA
来源:互联网 发布:新网域名如何实名认证 编辑:程序博客网 时间:2024/04/19 01:40
题目链接:
https://vjudge.net/problem/UVA-129
题意:
题解:
代码:
#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))#define MP make_pair#define PB push_backconst int INF = 0x3f3f3f3f;const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;inline ll read(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}//////////////////////////////////////////////////////////////////////////const int maxn = 1e5+10;int n,m,cnt;int S[maxn];bool dfs(int cur){ if(cnt++ == n){ for(int i=0; i<cur; i++) { if(i%64==0 && i) printf("\n"); else if(i%4==0 && i) printf(" "); printf("%c",S[i]+'A'); } printf("\n"); printf("%d\n",cur); return 0; } for(int i=0; i<m; i++){ S[cur] = i; int ok = 1; for(int j=1; j*2<=cur+1; j++){ // 为啥是+1?? 如果不加1 第一个样例: AABAC AB 也就是当cur=1时,就没循环。 int equal = 1; for(int k=0; k<j; k++) if(S[cur-k] != S[cur-k-j]) { equal = 0; break;} if(equal) { ok = 0; break;} } if(ok) if(!dfs(cur+1)) return 0; } return 1;}int main(){ while(scanf("%d%d",&n,&m)){ if(n+m==0) break; cnt = 0; dfs(0); } return 0;}
0 0
- 紫书搜索 例题7-5 UVA
- 紫书搜索 例题7-4 UVA
- 紫书搜索 例题7-6 UVA
- 紫书搜索 例题7-9 UVA
- 紫书搜索 例题7-12 UVA
- 紫书搜索 例题7-13 UVA
- 紫书搜索 例题7-10 UVA
- 例题7-5 UVA 129 Krypton Factor (困难的串,搜索)
- 紫书例题6-5 UVa 12657 (链表
- 紫书数论例题10-5 uva 12716 找规律
- 紫书例题 10-8 Uva 1262
- 紫书例题 10-26 UVa 11440
- 紫书 例题7-5 UVA 129
- UVA 11464 例题7
- 紫书搜索 习题7-7 UVA
- 紫书搜索 习题7-1 UVA
- 紫书搜索 习题7-2 UVA
- 紫书搜索 习题7-3 UVA
- 数组中出现两次的数
- Win64 驱动内核编程-14.回调监控文件
- CentOS7 tomcat配置
- 日期计算
- SQL基本查询语句
- 紫书搜索 例题7-5 UVA
- MATLAB例题既demo
- PAT (Advanced Level) 1123. Is It a Complete AVL Tree (30)
- 【webpack】-- 样式加载
- 数据结构实验之链表四:有序链表的归并 (sdut oj)
- TCP异常终止连接及SO_LINGER选项
- nodejs addon C++自动翻译成js
- 大话设计模式 附录A 面向对象基础 C++实现
- CodeForces 633B A Trivial Problem(找规律)