prestige

Untitled

May 12th, 2013
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <cstdio>
  2. #include <algorithm>
  3. using namespace std;
  4. int n, m;
  5. int a[100100];
  6. int b[100100];
  7. int c[100100];
  8. int f[100100];
  9. int main () {
  10. scanf("%d", &n);
  11. if (!(n % 2) || n == 1) {
  12. printf("-1");
  13. return 0;
  14. }
  15. for (int i = 0; i < n; i++) {
  16. a[i] = i;
  17. //b[i] = i;
  18. }
  19. /*do {
  20. int fl = 0;
  21. for (int i = 0; i < n; i++) {
  22. c[i] = (a[i] + b[i]) % n;
  23. f[c[i]]++;
  24. if (f[c[i]] > 1) {
  25. fl = 1;
  26. break;
  27. }
  28. }
  29. if (!fl) {
  30. for (int i = 0; i < n; i++) {
  31. printf("%d ", b[i]);
  32. }
  33. printf("\n");
  34. break;
  35. }
  36. } while ( std::next_permutation(b, b + n) );*/
  37.  
  38. int k = 0;
  39. int ind = n - 1;
  40. while (1) {
  41. b[ind] = k++;
  42. ind += 2;
  43. ind = ind % n;
  44. if (k == n) {
  45. break;
  46. }
  47. }
  48. for (int i = 0; i < n; i++) {
  49. printf("%d ", a[i]);
  50. }
  51. printf("\n");
  52. for (int i = 0; i < n; i++) {
  53. printf("%d ", b[i]);
  54. }
  55. printf("\n");
  56. for (int i = 0; i < n; i++) {
  57. c[i] = a[i] + b[i];
  58. c[i] = c[i] % n;
  59. printf("%d ", c[i]);
  60. }
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment