Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int arr[109][109];
- vector<pair<int,int> > dor[109][109];
- int main(){
- int n,m;
- cin >> n >> m;
- for(int i = 0; i < n; i++){
- for(int j = 0; j < m; j++){
- cin >> arr[i][j];
- }
- }
- int i0,j0,i1,j1;
- do{
- cin >> i0 >> j0 >> i1 >> j1;
- if(i0 == 0 && i1 == 0 && j1 == 0 && j0 == 0){break;}
- i0--;j0--;i1--;j1--;
- if(i0 == i1 && j0 == j1){continue;}
- int incr = -1;
- if(i0 - i1 < 0 || j0 - j1 < 0){incr = 1;}
- if(j0 == j1){
- for(int i = i0; i < i1 && i0 < i1 || i > 0 && i0 > i1;i+=incr){
- if(abs(arr[i][j0] - arr[i+incr][j0]) > 10){continue;}
- dor[i][j0].push_back({i+incr,j0});
- }
- }
- if(i0 == i1){
- for(int j = j0; j < j1 && j0 < j1 || j > j1 && j0 > j1; j+=incr){
- if(abs(arr[i0][j] - arr[i0][j + incr]) > 10){continue;}
- //cout << i0 +1 << " " << j +1 << " " << i0 + 1 << " " << j + 1 + incr << endl;
- dor[i0][j].push_back({i0, j+incr});
- }
- }
- i0++;j0++;i1++;j1++;
- }while(i0 != 0 && j0 != 0 && i1 != 0 && j1 != 0);
- for(int i = 0; i < n; i++){
- for(int j = 0; j < m; j++){
- cout << i +1 << " " << j + 1<< " ";
- for(int k = 0; k < dor[i][j].size(); k++){
- cout << dor[i][j][k].first + 1 << " " << dor[i][j][k].second + 1 << " ";
- }
- cout << endl;
- }
- }
- }
- /*
- 3 4
- 10 15 20 25
- 19 30 35 30
- 10 19 26 20
- 1 1 1 4
- 2 1 2 4
- 3 4 3 3
- 3 3 1 3
- 1 4 3 4
- 2 4 2 1
- 1 1 2 1
- 0 0 0 0
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement