fork(3) download
  1. #include <algorithm>
  2. #include <cstdio>
  3. #include <cmath>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <climits>
  7. #include <iostream>
  8. #include <string>
  9. #include <sstream>
  10. #include <vector>
  11. #include <stack>
  12. #include <queue>
  13. #include <deque>
  14. #include <set>
  15. #include <map>
  16. #include <functional>
  17. #include <ctime>
  18.  
  19. using namespace std;
  20.  
  21. int M, N;
  22. string s;
  23. #define FOR(i, N) for(int i = 0; i < N; i++)
  24. #define FOR1e(i, N) for(int i = 1; i <= N; i++)
  25. #define REP(i, M, N) for(int i = M; i < N; i++)
  26. #define REPe(i, M, N) for(int i = M; i <= N; i++)
  27. #define sc(N) scanf("%d", &N)
  28. #define scsc(M, N) scanf("%d %d", &M, &N)
  29. #define gt(s) getline(cin, s)
  30. #define ll long long
  31. #define vi vector <int>
  32. #define pii pair <int, int>
  33. #define mp make_pair
  34. #define pb push_back
  35. #define PI 3.14159265
  36.  
  37. const int MAX = 2005;
  38. const int MOD = 1000000007;
  39.  
  40. bool isWhite (int x, int y, int ss)
  41. {
  42. int right = x/ss, up = y/ss;
  43. x %= ss;
  44. y %= ss;
  45. if((right + up)%2 == 1 && x && y) return 1;
  46. return 0;
  47. }
  48.  
  49. int main(){
  50. // freopen("in.txt", "r", stdin);
  51. int ss, x, y, dx ,dy;
  52. while(cin >> ss >> x >> y >> dx >> dy){
  53. if(!ss && !x && !y && !dx && !dy) break;
  54. int ans = 0;
  55. bool ok = 0;
  56. for(int i = 0; i < 1001; i++){
  57. bool color = isWhite(x, y, ss);
  58. if(color) {ok = 1; break;}
  59. x += dx; y += dy;
  60. ans++;
  61. }
  62. if(!ok) {puts("The flea cannot escape from black squares."); continue;}
  63. printf("After %d jumps the flea lands at (%d, %d).\n", ans, x, y);
  64. }
  65. return 0;
  66. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
Standard output is empty