Advertisement
Sunt_tare

Untitled

Oct 31st, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream fin("saritura_calului1.in");
  5. ofstream fout("saritura_calului1.out");
  6. int a[105][105],n,m;
  7. const int dx[8]={-1,1,2,2,1,-1,-2,-2};
  8. const int dy[8]={2,2,1,-1,-2,-2,-1,1};
  9. bool verif(int i,int j)
  10. {
  11.     if(i<1||i>n||j<1||j>m)return 0;
  12.     if(a[i][j])return 0;
  13.     return 1;
  14.     /*if(i>=1&&i<=n&&j>=1&&j<=m){
  15.         if(a[i][j]==0)return 1;
  16.     }
  17.     return 0;*/
  18. }
  19. int numara(int x,int y)
  20. {
  21.     int i,iv,jv,k=0;
  22.     for(i=0;i<8;i++){
  23.         iv=x+dx[i];
  24.         jv=y+dy[i];
  25.         if(verif(iv,jv))k++;
  26.     }
  27.     return k;
  28. }
  29. int cauta(int x,int y)
  30. {
  31.     int i,iv,jv,mini=10,p,nr;
  32.     for(i=0;i<8;i++){
  33.         iv=x+dx[i];
  34.         jv=y+dy[i];
  35.         if(verif(iv,jv)){
  36.             nr=numara(iv,jv);
  37.             if(nr<=mini)
  38.             {
  39.                 mini=nr;
  40.                 p=i;
  41.             }
  42.         }
  43.     }
  44.     return p;
  45. }
  46. int main()
  47. {
  48.     int i,j,x,y,xv,yv,p;
  49.     fin>>n>>m>>x>>y;
  50.     a[x][y]=1;
  51.     //xv=x;
  52.     //yv=y;
  53.     for(i=2;i<=n*m;i++){
  54.         p=cauta(x,y);
  55.         cout<<"p: "<<p<<'\n';
  56.         x=x+dx[p];
  57.         y=y+dy[p];
  58.         cout<<"x: "<<x<<" y: "<<y<<'\n';
  59.         a[x][y]=i;
  60.         //x=xv;
  61.         //y=yv;
  62.     }
  63.  
  64.     for(i=1;i<=n;i++){
  65.         for(j=1;j<=m;j++){
  66.             fout<<a[i][j]<<" ";
  67.         }
  68.         fout<<'\n';
  69.     }
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement