muntasir007

Untitled

Mar 3rd, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <bits/stdc++.h>
  3. #include <algorithm>
  4. #define bal printf("a");
  5. using namespace std;
  6. typedef struct pairs {
  7. int i, j;
  8. } paira;
  9. typedef struct node_t {
  10. int index, count;
  11. } nodes;
  12. bool cmp (nodes a, nodes b) {
  13. return a.count < b.count;
  14. }
  15. vector <paira> araa;
  16.  
  17. int maps[40][40];
  18. int main () {
  19. int n, k, i;
  20. scanf("%d %d", &n, &k);
  21. nodes ara[50];
  22. for (i=0; i<n; i++) {
  23. ara[i].index = i+1;
  24. ara[i].count = 0;
  25. }
  26. int counts[40];
  27. for (i=0; i<40; i++) counts[i] = 0;
  28. for (i=1; i<=n; i++) {
  29. while (counts[i] < k+1) {
  30. sort (ara, ara+n, cmp);
  31. paira temp;
  32. int j=0, y;
  33. y = ara[j].index;
  34. while (i==y || maps[i][y]) {
  35. j++;
  36. y = ara[j].index;
  37. }
  38. if (y < i) {
  39. temp.i = y;
  40. temp.j = i;
  41. }
  42. else {
  43. temp.i = i;
  44. temp.j = y;
  45. }
  46. counts[i]++;
  47. counts[y]++;
  48. for (int z = 0; z<n; z++) if (ara[z].index == i) ara[z].count = counts[i];
  49. for (int z = 0; z<n; z++) if (ara[z].index == y) ara[z].count = counts[y];
  50. maps[i][y] = maps[y][i] = 1;
  51. araa.push_back(temp);
  52. }
  53. }
  54. printf("%d\n", araa.size());
  55. for (i=0; i<araa.size(); i++) printf("%d %d\n", araa[i].i, araa[i].j);
  56.  
  57. return 0;
  58. }
  59.  
  60.  
  61.  
  62.  
  63.  
  64. #include <cstdio>
  65. #include <cmath>
  66. #define PI 2*asin(1)
  67. int main () {
  68. int n;
  69. scanf("%d", &n);
  70. double ara[n];
  71. int i;
  72. double sum=0;
  73. for (i=0; i<n; i++) {
  74. scanf("%lf", &ara[i]);
  75. sum += ara[i];
  76. }
  77.  
  78. double r, theta;
  79. theta = ara[0]/sum;
  80.  
  81. theta = theta * 2*PI;
  82. int flag = 1;
  83. double radius = (double(ara[0]))/(2.0*sin(theta));
  84. for (i=0; i<n && flag; i++) {
  85. theta = ara[i]/sum;
  86. theta = theta * 2.0*PI;
  87. r = ara[i]/(2.0*sin(theta/2.0));
  88. printf("%lf %lf\n", radius, r);
  89. if (fabs(r-radius) > 1e-6) flag = 0;
  90. }
  91. if (flag) printf("%.9lf\n", radius);
  92. else printf("-1\n");
  93. return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment