fork(3) download
  1. // lasery.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3.  
  4. #include <iostream>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8.  
  9. int main()
  10. {
  11. int d, m, n, wynik1=0, wynik2=0, lw, lm;
  12. cin >> d;
  13. for (int i = 0; i < d; i++)
  14. {
  15. cin >> m;
  16. cin >> n;
  17. if (m >= n)
  18. {
  19. lw = m;
  20. lm = n;
  21. }
  22. else
  23. {
  24. lw = n;
  25. lm = m;
  26. }
  27. wynik1 = 4 + 2 * (lw + 1 - 2) * (lm + 1 - 1); // nie uwzględnia eliminacji prostych o tych samych wsp kier
  28. int rozm_tab_wsp_kier= m * n;
  29. float* tab = new float[rozm_tab_wsp_kier];
  30. float licznik = 1, mianownik = 1;
  31. for (int i = 0; i < rozm_tab_wsp_kier; i++)
  32. {
  33. tab[i] = licznik / mianownik;
  34. if (licznik < lw)
  35. licznik++;
  36. else
  37. {
  38. licznik = 1; mianownik++;
  39. }
  40. if (mianownik > lm)
  41. break;
  42. }
  43. wynik2 = rozm_tab_wsp_kier;
  44. sort(tab, tab + rozm_tab_wsp_kier);
  45. wynik2 = rozm_tab_wsp_kier;
  46. for (int i = 0; i < rozm_tab_wsp_kier; i++)
  47. {
  48. if (tab[i] == 1 || tab[i] == tab[i + 1])
  49. wynik2--;
  50. }
  51. wynik2 = 4 + 2 * wynik2;
  52. //system ("pause");
  53. delete[] tab;
  54. cout << wynik2<<endl;
  55. }
  56. return 0;
  57. }
  58.  
Success #stdin #stdout 0.01s 5404KB
stdin
2
2 1
3 5
stdout
6
26