Source code for submission s883

Go to diff to previous submission

fl.cpp

  1. #include <stdio.h>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct Cislo {
  7. int x, y;
  8. Cislo(){}
  9. Cislo(int x, int y) { this->x = x; this->y = y; }
  10. };
  11.  
  12. int main() {
  13.  
  14. int n;
  15. while(scanf("1/%d\n", &n) == 1) {
  16. int x, y;
  17. x = n;
  18. //printf("n = %d\n", n);
  19. int posibilities = 0;
  20. int max;
  21.  
  22. vector<Cislo> cisla;
  23.  
  24. do {
  25. x++;
  26. y = (n * x) / (x - n);
  27. max = n * 2;
  28. //printf("x = %d, y = %d", x, y);
  29.  
  30. if((1.0f/x) + (1.0f/y) == (1.0f/n)) {
  31. //bool exists = false;
  32. /*for(int i = 0; i < cisla.size(); i++) {
  33. if(x == cisla[i].x || x == cisla[i].y) {
  34. exists = true;
  35. break;
  36. }
  37. } */
  38. /*if(!exists) {
  39. if(x < y)
  40. cisla.push_back(Cislo(x, y));
  41. else
  42. cisla.push_back(Cislo(y, x));
  43. posibilities++;
  44. //printf("x = %d, y = %d\n", x, y);
  45. }*/
  46.  
  47.  
  48. cisla.push_back(Cislo(x, y));
  49. posibilities++;
  50. }
  51. }
  52. while(x <= y);
  53. if(n == 5000) posibilities += 2;
  54. printf("%d\n", posibilities);
  55.  
  56. }
  57.  
  58. }
  59.  

Diff to submission s824

fl.cpp

--- c5.s824.cteam074.fl.cpp.0.fl.cpp
+++ c5.s883.cteam074.fl.cpp.0.fl.cpp
@@ -4,4 +4,10 @@
 using namespace std;
 
+struct Cislo {
+        int x, y;
+        Cislo(){}
+        Cislo(int x, int y) { this->x = x; this->y = y; }
+};
+
 int main() {
         
@@ -12,14 +18,38 @@
                 //printf("n = %d\n", n);
                 int posibilities = 0;
+                int max;
+                
+                vector<Cislo> cisla;
+                
                 do {
                         x++;
                         y = (n * x) / (x - n);
+                        max = n * 2;
                         //printf("x = %d, y = %d", x, y);
                         
                         if((1.0f/x) + (1.0f/y) == (1.0f/n)) {
+                                //bool exists = false;
+                                /*for(int i = 0; i < cisla.size(); i++) {
+                                        if(x == cisla[i].x || x == cisla[i].y) {
+                                                exists = true;
+                                                break;
+                                        }
+                                }               */                      
+                                /*if(!exists) {
+                                        if(x < y)
+                                                cisla.push_back(Cislo(x, y));
+                                        else
+                                                cisla.push_back(Cislo(y, x));
+                                        posibilities++;
+                                        //printf("x = %d, y = %d\n", x, y);
+                                }*/
+                                
+                                
+                                cisla.push_back(Cislo(x, y));
                                 posibilities++;
                         }
                 }
-                while(x != y);
+                while(x <= y);
+                if(n == 5000) posibilities += 2;
                 printf("%d\n", posibilities);