Advertisement
Guest User

li

a guest
Oct 23rd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;
  4. int d[5000] [5000] ;
  5. void way(int x, int y)
  6. {if(d[x][y]-1==d[x+1][y]){d[x][y]=-3;way(x+1,y);}else{
  7.    if(d[x][y]-1==d[x-1][y]){d[x][y]=-3;way(x-1,y);}else{
  8.         if(d[x][y]-1==d[x][y+1]){d[x][y]=-3;way(x,y+1);}else{if(d[x][y]-1==d[x][y-1]){d[x][y]=-3;way(x,y-1);}}}}}
  9. void func(int x, int y,int n) {
  10. if (d[x][y]==0||d[x][y]>n){
  11.     d[x][y]=n;
  12.     func(x+1,y,n+1);
  13.     func(x-1,y,n+1);
  14.     func(x,y+1,n+1);
  15.     func(x,y-1,n+1);
  16. }
  17. }
  18.  
  19. int main() {
  20. int n,m,xn,yn,xk,yk;
  21. cin>>n>>m;
  22. cin>>xn>>yn;
  23. cin>>xk>>yk;
  24. xn=xn+1; yn=yn+1;
  25. xk=xk+1; yk=yk+1;
  26.  
  27. for (int i = 0; i<n+2; i++)
  28.     {
  29.     for (int j = 0; j<m+2; j++)
  30.     {
  31.     if (i==0||j==0||i==n+1||j==m+1){d[i][j]=-1;}else{int p; cin>>p; d[i][j]=p;}    
  32.     }} 
  33.    
  34.  
  35.     func(xn,yn,1);
  36.    
  37.    
  38.    
  39.    
  40.   for (int i = 0; i<n+2; i++)
  41.     {
  42.     for (int j = 0; j<m+2; j++)
  43.     {
  44.     cout<<d[i][j]<<" ";    
  45.     }cout<<endl;}    
  46.    
  47.   way(xk,yk);
  48.   d[xn][yn]=-3;
  49.     for (int i = 0; i<n+2; i++)
  50.     {
  51.     for (int j = 0; j<m+2; j++)
  52.     {
  53.     cout<<d[i][j]<<" ";    
  54.     }cout<<endl;}    
  55.  
  56.     return 0;
  57. }
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. ////https://sites.google.com/view/ftl-self-government-day
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement