Uva11129-An Antiarithmetic Permutation
2013-08-15 21:55
471 查看
分治:按着网上的思路写的
#include <iostream> #include <cstdio> #include <cstring> #include <vector> using namespace std; int n; vector<int> aa,bb; void init(){ aa.clear(); aa.resize(n); bb.clear(); bb.resize(n); for(int i = 0; i < n; i++){ bb[i] = i; } } void divide(int a,int b){ if(a+1 >= b){ return; } int k = a; for(int i = a; i <= b; i++){ aa[i] = bb[i]; } for(int i = a; i <= b; i+=2,k++){ bb[k] = aa[i]; } for(int i = a+1; i <= b; i+=2,k++){ bb[k] = aa[i]; } divide(a,(a+b)/2); divide((a+b)/2+1,b); } int main(){ while(~scanf("%d",&n) && n){ init(); divide(0,n-1); printf("%d: ",n); for(int i = 0; i < n-1; i++){ cout<<bb[i]<<" "; } cout<<bb[n-1]<<endl; } return 0; }
相关文章推荐
- uva11129 An antiarithmetic permutation
- uva - 11129 - An antiarithmetic permutation(分治)
- uva11129 - An antiarithmetic permutation(不等差序列,分治法)
- uva 11129 An antiarithmetic permutation
- UVA 11129 - An antiarithmetic permutation
- An antiarithmetic permutation UVA, 11129
- uva11129 - An antiarithmetic permutation(反算数级数)
- UVA - 11129 An antiarithmetic permutation(分治)
- UVA-11129 - An antiarithmetic permutation (分治)
- uva 11129 An antiarithmetic permutation (递归)
- 【个人训练】(UVa11129)An antiarithmetic permutation
- UVA 11129 - An antiarithmetic permutation
- uva 11129 - An antiarithmetic permutation
- UVA 11129 An antiarithmetic permutation 非等差数列 贪心 递归
- uva:11129 - An antiarithmetic permutation(分治法)
- [递归]UVA11129 An antiarithmetic permutation
- uva 11129 - An antiarithmetic permutation
- UVa 11129 - An antiarithmetic permutation
- UVA - 11129 An antiarithmetic permutation
- UVa 11129 - An antiarithmetic permutation