nucLeaRsc2

Untitled

Oct 25th, 2012
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct cerc
  5. {
  6. int x; int y; int r;
  7. } v[2000];
  8.  
  9. void isort( cerc v[], int left, int right )
  10. {
  11. int i, j;
  12. i = left; j = right;
  13. int current;
  14. int last=0;
  15. cerc temp;
  16. if( left >= right )
  17. return;
  18.  
  19. for( current = left+1; current <= right; ++current )
  20. {
  21. if( (float)v[current].x/v[current].y < (float)v[left].x/v[left].y )
  22. {
  23. ++last;
  24. if(i <= j)
  25. {
  26. /*temp.x = v[i].x;
  27. temp.y = v[i].y;
  28. temp.r = v[i].r;
  29. v[i].x = v[j].x;
  30. v[i].y = v[j].y;
  31. v[i].r = v[j].r;
  32. v[j].x = temp.x;
  33. v[j].y = temp.y;
  34. v[j].r = temp.r;*/
  35. temp=v[i];
  36. v[i]=v[j];
  37. v[j]=temp;
  38. i++; j--;
  39. }
  40. }
  41. }
  42. isort( v, left, last-1 );
  43. isort( v, last+1, right );
  44.  
  45. }
  46.  
  47. int main ()
  48. {
  49. freopen("cerc3.in", "rt", stdin);
  50. freopen("cerc3.out", "wt", stdout);
  51.  
  52. int i,n,l=0;
  53. double qq=0;
  54. scanf("%i", &n);
  55. for(i=0;i<n;i++)
  56. scanf("%i %i %i", &v[i].x, &v[i].y, &v[i].r);
  57.  
  58. isort(v,0,n-1);
  59.  
  60. for(i=0;i<n;i++)
  61. if(qq!=(double)v[i].x/v[i].y*1e-4)
  62. qq=(double)v[i].x/v[i].y*1e-4,l++;
  63.  
  64. for(i=0;i<n;i++)
  65. printf("%i %i %i\n", v[i].x, v[i].y, v[i].r);
  66.  
  67. printf("%d", l);
  68.  
  69. fclose(stdin);
  70. fclose(stdout);
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment