SHARE
TWEET

Untitled

a guest Feb 27th, 2020 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2. #define N 65
  3. using namespace std;
  4. ifstream fin("miting.in");
  5. ofstream fout("miting.out");
  6. short sz, x1=105, x2, y1=105, y2, cerinta, n, m, i, j, k, x[N], y[N], l[N], r[N], sol[N];
  7. char s[11], a[N][N];
  8. bool used[N];
  9. void bkt(int k)
  10. {
  11.     if(k==0)
  12.     {
  13.         for(int i=0;i<sz;++i)
  14.         {
  15.             sol[k]=i;
  16.             l[k]=r[k]=i;
  17.             used[i]=1;
  18.             bkt(k+1);
  19.             used[i]=0;
  20.         }
  21.     }
  22.     else if(k<sz)
  23.     {
  24.         if(l[k-1]-1>=0&&!used[l[k-1]-1])
  25.         {
  26.             sol[k]=l[k-1]-1;
  27.             used[l[k-1]-1]=1;
  28.             l[k]=l[k-1]-1,r[k]=r[k-1];
  29.             bkt(k+1);
  30.             used[l[k-1]-1]=0;
  31.         }
  32.         if(r[k-1]+1<sz&&!used[r[k-1]+1])
  33.         {
  34.             sol[k]=r[k-1]+1;
  35.             used[r[k-1]+1]=1;
  36.             l[k]=l[k-1],r[k]=r[k-1]+1;
  37.             bkt(k+1);
  38.             used[r[k-1]+1]=0;
  39.         }
  40.     }
  41.     else
  42.     {
  43.         for(int i=0;i<sz;++i)
  44.             fout<<sol[i]<<' ';
  45.         fout<<'\n';
  46.     }
  47. }
  48. int main()
  49. {
  50.     fin>>cerinta>>n>>m>>s;
  51.     sz=strlen(s);
  52.     for(i=1;i<=n;++i)
  53.         for(j=1;j<=m;++j)
  54.     {
  55.         fin>>a[i][j];
  56.         if(a[i][j]!='_'&&a[i][j]!='#')
  57.         {
  58.             if(cerinta==1)
  59.             {
  60.             x1=min(x1,i);
  61.             x2=max(x2,i);
  62.             y1=min(y1,j);
  63.             y2=max(y2,j);
  64.             continue;
  65.             }
  66.             for(k=0;k<sz;++k)
  67.                 if(a[i][j]==s[k])
  68.                     x[k]=i,y[k]=j;
  69.         }
  70.     }
  71.     if(cerinta==1)
  72.     {
  73.         fout<<(x2-x1+1)*(y2-y1+1)<<'\n';
  74.         return 0;
  75.     }
  76.    /** if(k<=3)
  77.     {
  78.         for(i=0;i<sz;++i)
  79.         {
  80.             lee(x[i],y[i],i);
  81.             if(k==2)
  82.             {
  83.                 fout<<mat[i][x[i+1]][y[i+1]]<<'\n';
  84.                 return 0;
  85.             }
  86.         }
  87.     }*/
  88.     bkt(0);
  89.  
  90.    // ans=min(ans,mat[0][x[1][])
  91.     return 0;
  92. }
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