Lucky Permutation Triple CodeForces
来源:互联网 发布:仓鼠用品淘宝 编辑:程序博客网 时间:2024/06/05 23:11
Bike is interested in permutations. A permutation of length n is an integer sequence such that each integer from 0 to (n - 1) appears exactly once in it. For example, [0, 2, 1] is a permutation of length 3 while both [0, 2, 2] and [1, 2, 3] is not.
A permutation triple of permutations of length n (a, b, c) is called a Lucky Permutation Triple if and only if . The sign ai denotes the i-th element of permutation a. The modular equality described above denotes that the remainders after dividing ai + bi by n and dividing ci by n are equal.
Now, he has an integer n and wants to find a Lucky Permutation Triple. Could you please help him?
The first line contains a single integer n (1 ≤ n ≤ 105).
If no Lucky Permutation Triple of length n exists print -1.
Otherwise, you need to print three lines. Each line contains n space-seperated integers. The first line must contain permutation a, the second line — permutationb, the third — permutation c.
If there are multiple solutions, print any of them.
5
1 4 3 2 01 0 2 4 32 4 0 1 3
2
-1
In Sample 1, the permutation triple ([1, 4, 3, 2, 0], [1, 0, 2, 4, 3], [2, 4, 0, 1, 3]) is Lucky Permutation Triple, as following holds:
- ;
- ;
- ;
- ;
- .
In Sample 2, you can easily notice that no lucky permutation triple exists.
上代码:
//算是比较水的一道题目,关键是用于推测// 详细代码看注释#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;int a[100001];int b[100001];int c[100001];int main(){ int n; while(scanf("%d", &n) != EOF) { if(n%2==0) {printf("-1\n");continue;} // 如果n是偶数,那么无解 // 因为只输出一组解,所以我们可以随便选择 //第一行输出 0到n-1 //第二行输出 0到n-1 //第三行输出与第一二行对应的 i*2%n //以上三行便是答案 for(int i=0; i<n; i++) { if(i!=0)printf(" "); printf("%d",i); } printf("\n"); for(int i=0; i<n; i++) { if(i) printf(" "); printf("%d",i); } printf("\n"); for(int i=0; i<n; i++) { if(i)printf(" "); printf("%d", i*2%n); } printf("\n"); } return 0;}
水波。- Lucky Permutation Triple CodeForces
- codeforces #303A Lucky Permutation Triple 构造
- Codeforces 303A Lucky Permutation Triple【思维】
- Codeforces Round #183 (Div. 1)Lucky Permutation Triple
- CodeForces 304C Lucky Permutation Triple(推理分析)
- Codeforces 303A Lucky Permutation Triple 【构造 思维】
- Codeforces Round #183 (Div. 2)-C. Lucky Permutation Triple
- CodeForces 303 A.Lucky Permutation Triple(构造)
- Codeforces Round #183 (Div. 1) / 303A Lucky Permutation Triple (强大的数学&想法题)
- codeforces 287 C. Lucky Permutation
- CodeForces Round 176Div1 A Lucky permutation
- [杂题] Codeforces #121C. Lucky Permutation
- CF 303A(Lucky Permutation Triple-打表-数列全排列)
- codeforces 121C C. Lucky Permutation(数论+构造)
- Codeforces Beta Round #91 (Div. 2 Only)-E. Lucky Permutation
- C. Lucky Permutation----思维题
- Codeforces---Lucky Conversion
- codeforces Lucky Sum
- session的使用方法及实例
- POJ3159---Candies(最短路:spfa+栈or队列)(邻接表)
- 06 在mysql使用full join
- Java 观察者模式
- Log4j的使用
- Lucky Permutation Triple CodeForces
- Memcache总结
- Apache 301重定向
- POJ 2546 Circular Area 笔记
- MAC 上windows的caps lock 按下变成大写不能切换问题
- swift3.0 as、as!、as? 关键字 三种操作符的使用
- 从源码角度理解Android线程
- 2-SAT
- Go net/rpc 包总结