fork download
  1. #include <cstdlib>
  2. #include <cstdio>
  3. #include <iostream>
  4. #include <sstream>
  5. #include <cstring>
  6. #include <string>
  7. #include <utility>
  8. #include <stack>
  9. #include <queue>
  10. #include <vector>
  11. #include <map>
  12. #include <algorithm>
  13. #include <functional>
  14. #include <cmath>
  15. #include <list>
  16. #include <set>
  17. using namespace std;
  18.  
  19. typedef pair<int, int> ii;
  20. typedef vector<int> vi;
  21. typedef vector<ii> vii;
  22. #define rep(i,a,b) for((i)=(a);(i)<=(b);(i)++)
  23. vector<vii> adj_list;
  24.  
  25. vi dist;
  26.  
  27. //BEFORE SUBMISSION, COMMENT OUT THIS LINE--> freopen("text", "r", stdin);
  28.  
  29. int main() {
  30. int l, c, m, n, i, x, y, j, k, t, sum = 0, cases = 1, maximum, minimum,
  31. count1 = 0;
  32. //freopen("text", "r", stdin);
  33. while (1) {
  34. int a, b, v, s, An, vert, hor;
  35. float sx, sy, ux, uy, acx, acy, A;
  36. scanf("%d%d%d%d%d", &a, &b, &v, &An, &s);
  37. if (a == 0 && b == 0 && v == 0 && An == 0 && s == 0)
  38. break;
  39. A = ((float) An / (float) 180) * 3.14159265;
  40. ux = abs((float) v * cos(A));
  41. uy = abs((float) v * sin(A));
  42. sx = sy = 0;
  43. hor = 0, vert = 0;
  44. if (An == 90) {
  45. acy = uy / (float) s;
  46. sy = abs(uy * uy / (2 * acy));
  47. } else if (An == 0) {
  48. acx = ux / (float) s;
  49. sx = abs(ux * ux / (2 * acx));
  50. } else {
  51. if (ux > uy) {
  52. acx = ux / (float) s;
  53. acy = acx * sin(A) / cos(A);
  54. } else {
  55. acy = uy / (float) s;
  56. acx = acy * cos(A) / sin(A);
  57. }
  58. sx = abs(ux * ux / (2 * acx));
  59. sy = abs(uy * uy / (2 * acy));
  60. }
  61. //printf("%sx=%f,sy=%f:", sx, sy);
  62. if (sx >= a / 2)
  63. hor = 1;
  64. if (sy >= b / 2)
  65. vert = 1;
  66. sx -= (float) a / 2;
  67. sy -= (float) b / 2;
  68. if (sx < 0)
  69. sx = 0;
  70. if (sy < 0)
  71. sy = 0;
  72. vert += (int) (sy / b);
  73. hor += (int) (sx / a);
  74. printf("%d %d\n", hor, vert);
  75. }
  76. return 0;
  77. }
  78.  
  79.  
Success #stdin #stdout 0s 3300KB
stdin
88 33 7 48 19
77 74 60 7 71
38 33 89 5 11
39 25 6 35 28
38 54 91 77 20
89 94 29 74 87
48 51 7 51 45
47 53 71 86 94
99 87 96 39 47
91 90 51 38 33
63 32 13 16 41
15 82 10 20 2
29 5 79 71 99
55 97 2 15 26
82 95 69 85 48
69 18 47 42 68
41 53 78 52 89
36 2 11 73 41
56 55 62 21 25
81 44 58 34 90
0 0 0 0 0
stdout
1 1
27 4
13 1
2 2
5 16
4 13
2 2
5 63
18 16
7 6
4 2
1 0
44 739
0 0
2 17
17 59
52 52
2 108
13 5
27 33