Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int arr[109][109];
  6. vector<pair<int,int> > dor[109][109];
  7.  
  8. int main(){
  9. int n,m;
  10. cin >> n >> m;
  11.  
  12. for(int i = 0; i < n; i++){
  13. for(int j = 0; j < m; j++){
  14. cin >> arr[i][j];
  15. }
  16. }
  17.  
  18. int i0,j0,i1,j1;
  19. do{
  20. cin >> i0 >> j0 >> i1 >> j1;
  21. if(i0 == 0 && i1 == 0 && j1 == 0 && j0 == 0){break;}
  22. i0--;j0--;i1--;j1--;
  23. if(i0 == i1 && j0 == j1){continue;}
  24. int incr = -1;
  25. if(i0 - i1 < 0 || j0 - j1 < 0){incr = 1;}
  26.  
  27. if(j0 == j1){
  28. for(int i = i0; i < i1 && i0 < i1 || i > 0 && i0 > i1;i+=incr){
  29. if(abs(arr[i][j0] - arr[i+incr][j0]) > 10){continue;}
  30. dor[i][j0].push_back({i+incr,j0});
  31. }
  32. }
  33. if(i0 == i1){
  34. for(int j = j0; j < j1 && j0 < j1 || j > j1 && j0 > j1; j+=incr){
  35. if(abs(arr[i0][j] - arr[i0][j + incr]) > 10){continue;}
  36. //cout << i0 +1 << " " << j +1 << " " << i0 + 1 << " " << j + 1 + incr << endl;
  37. dor[i0][j].push_back({i0, j+incr});
  38. }
  39. }
  40. i0++;j0++;i1++;j1++;
  41. }while(i0 != 0 && j0 != 0 && i1 != 0 && j1 != 0);
  42.  
  43. for(int i = 0; i < n; i++){
  44. for(int j = 0; j < m; j++){
  45. cout << i +1 << " " << j + 1<< " ";
  46. for(int k = 0; k < dor[i][j].size(); k++){
  47. cout << dor[i][j][k].first + 1 << " " << dor[i][j][k].second + 1 << " ";
  48. }
  49. cout << endl;
  50.  
  51. }
  52. }
  53.  
  54.  
  55. }
  56. /*
  57. 3 4
  58. 10 15 20 25
  59. 19 30 35 30
  60. 10 19 26 20
  61. 1 1 1 4
  62. 2 1 2 4
  63. 3 4 3 3
  64. 3 3 1 3
  65. 1 4 3 4
  66. 2 4 2 1
  67. 1 1 2 1
  68. 0 0 0 0
  69. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement