UVA - 729 The Hamming Distance Problem
来源:互联网 发布:子域名怎么看 编辑:程序博客网 时间:2024/06/05 11:32
题目大意:给出长度 N 和 Hamming 距离 H,求所有符合的字符串。符合的个数是 C(N,H)
解题思路:其实就是一个长度为 N 的字符串里面有 H 个 1,其余都是 0,求这个字符串的全排列,和UVA - 10098 Generating Fast 一样。
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>using namespace std;int s[20], ans[20];int n, h;bool cmp(char a, char b) { return a < b;}void print(int cur) { if (cur == n) { for (int i = 0; i < n; i++) cout << ans[i]; cout << endl; } else for (int i = 0; i < n; i++) { if (!i || s[i] != s[i-1]) { int c1 = 0, c2 = 0; for (int j = 0; j < cur; j++) if (s[i] == ans[j]) c1++; for (int j = 0; j < n; j++) if (s[i] == s[j]) c2++; if (c1 < c2) { ans[cur] = s[i]; print(cur+1); } } }}int main() { int T; scanf("%d", &T); while (T--) { memset(s, 0, sizeof(s)); memset(ans, 0, sizeof(ans)); scanf("%d%d", &n, &h); for (int i = 0; i < h; i++) s[i] = 1; sort(s, s+n, cmp); print(0); if (T) cout<<endl; }return 0;}
STL:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>using namespace std;int s[20];int n, h;int main() { int T; scanf("%d", &T); while (T--) { memset(s, 0, sizeof(s)); scanf("%d%d", &n, &h); for (int i = n-1; i >= n-h; i--) s[i] = 1; for (int i = 0; i < n; i++) cout<<s[i]; cout<<endl; while (next_permutation(s,s+n)) { for (int i = 0; i < n; i++) cout<<s[i]; cout<<endl; } if (T) cout<<endl; }return 0;}
0 0
- UVa 729 The Hamming Distance Problem
- UVa 729 - The Hamming Distance Problem
- UVA 729 - The Hamming Distance Problem
- UVa 729 - The Hamming Distance Problem
- uva 729 - The Hamming Distance Problem
- uva 729 The Hamming Distance Problem
- UVa 729: The Hamming Distance Problem
- uva 729 The Hamming Distance Problem
- uva - 729 - The Hamming Distance Problem
- UVa 729 - The Hamming Distance Problem
- uva 729 - The Hamming Distance Problem
- uva 729 - The Hamming Distance Problem
- UVa 729 - The Hamming Distance Problem 排列组合
- UVa 729 - The Hamming Distance Problem
- UVa 729 - The Hamming Distance Problem
- UVA 729 - The Hamming Distance Problem
- UVa-729-The Hamming Distance Problem
- UVA - 729 The Hamming Distance Problem
- Power String poj2406(后缀数组+DC3算法)
- 弟子规详解
- 蓝鸥 8.16
- Dijkstra、Bellman-Ford及Spfa算法思想对比
- 09 redis集群的搭建 以及遇到的问题
- UVA - 729 The Hamming Distance Problem
- 给RecyclerView最纯粹的下拉刷新和上拉加载更多
- [poj1511] Invitation Cards
- JSP 使用<%@include%>报Duplicate local variable path 错误 解决方法
- android 使用意图(Intent)实现一键拨号实例
- 软件设计师——计算机与软件工程知识&学习要点(上午题A)
- 二十岁出头,你一无所有,但你却拥有一切(转载)
- HDU 5652 India and China Origins (并查集判断联通)
- 最新版oracle安装