Advertisement
nicuvlad76

Untitled

Jan 13th, 2021
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #include <fstream>
  2. #define N 1001
  3. using namespace std;
  4. ifstream fin("camelot.in");
  5. ofstream fout("camelot.out");
  6. int a[N][N],x[N*N],y[100001],prim,ultim;
  7. int dlin[8]={-2,-1,1,2,2,1,-1,-2};
  8. int dcol[8]={1,2,2,1,-1,-2,-2,-1};
  9. int xc,yc,cerinta,n,m,k,ni,nj,x1,y1;
  10. int main()
  11. {
  12. fin>>cerinta>>n>>m>>k;
  13. fin>>xc>>yc;
  14. prim=ultim=1;
  15. x[prim]=xc;
  16. y[prim]=yc;
  17. a[xc][yc]=1;
  18. while(prim<=ultim)
  19. {
  20. x1=x[prim];
  21. y1=y[prim];
  22. for(int t=0;t<8;t++)
  23. {
  24. ni=x1+dlin[t];
  25. nj=y1+dcol[t];
  26. if(ni>=1&&ni<=n&&nj>=1&&nj<=m&&a[ni][nj]==0)
  27. {
  28. ultim++;
  29. a[ni][nj]=a[x1][y1]+1;
  30. x[ultim]=ni;
  31. y[ultim]=nj;
  32. }
  33. }
  34. prim++;
  35. }
  36. int mini=N*N,maxi=0;
  37. for(int i=1;i<=k;i++)
  38. {
  39. fin>>x1>>y1;
  40. if(a[x1][y1]>maxi)
  41. maxi=a[x1][y1];
  42. if(a[x1][y1]<mini)
  43. mini=a[x1][y1];
  44. }
  45. if(cerinta==1)
  46. fout<<mini-1;
  47. else fout<<maxi-1;
  48. return 0;
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement