SHARE
TWEET

Untitled

a guest Jan 28th, 2020 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. ifstream fin("traseucal.in");
  4. ofstream fout("traseucal.out");
  5.  
  6. int a[15][15];
  7. int n, m;
  8. pair<int, int> D[230];
  9. int di[8]={-1,1,-1,1,-2,2,-2,2};
  10. int dj[8]={-2,-2,2,2,-1,-1,1,1};
  11.  
  12. int ok=1;
  13. int rez=0;
  14.  
  15. int contur (int i, int j)
  16. {
  17.     return i>=1 && i<=n && j>=1 && j<=n;
  18. }
  19.  
  20. void backt(int i, int j, int pas)
  21. {
  22.     //cout<<i<<" "<<j<<endl;
  23.     a[i][j]=pas;
  24.     D[pas]={i,j};
  25.     //cout<<"1";
  26.  
  27.     if(i==n && j==m)
  28.     {
  29.         for(int k=1;k<=pas;k++)
  30.         {
  31.             cout<<D[k].first<<" "<<D[k].second<<endl;
  32.         }
  33.         rez=pas;
  34.         ok=0;
  35.     }
  36.     else
  37.     {
  38.         for(int k=0;k<8 && ok!=0 ;k++)
  39.         {
  40.             int nexti=i+di[k];
  41.             int nextj=j+dj[k];
  42.             if(a[nexti][nextj]==0 && contur(nexti, nextj)==1)
  43.             {
  44.                 backt(nexti,nextj,pas+1);
  45.             }
  46.         }
  47.     }
  48.     a[i][j]=0;
  49.  
  50. }
  51.  
  52. int main()
  53. {
  54.     int i, j;
  55.     fin>>n>>m;
  56.     for(i=1;i<=n;i++)
  57.     {
  58.         for(j=1;j<=m;j++)
  59.         {
  60.             fin>>a[i][j];
  61.         }
  62.     }
  63.  
  64.     backt(1,1,1);
  65.     memset(a,0,sizeof(a));
  66.  
  67.    // cout<<D[1].first<<" "<<D[1].second;
  68.     int aux=0;
  69.     for(i=1;i<=rez;i++)
  70.     {
  71.         aux++;
  72.         a[D[i].first][D[i].second]=aux;
  73.     }
  74.  
  75.     for(i=1;i<=n;i++)
  76.     {
  77.         for(j=1;j<=m;j++)
  78.         {
  79.             fout<<a[i][j]<<" ";
  80.         }
  81.         fout<<endl;
  82.     }
  83.  
  84.     fin.close();
  85.     fout.close();
  86.     return 0;
  87.  
  88. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top