Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define N 1001
- using namespace std;
- ifstream fin("camelot.in");
- ofstream fout("camelot.out");
- int a[N][N],x[N*N],y[100001],prim,ultim;
- int dlin[8]={-2,-1,1,2,2,1,-1,-2};
- int dcol[8]={1,2,2,1,-1,-2,-2,-1};
- int xc,yc,cerinta,n,m,k,ni,nj,x1,y1;
- int main()
- {
- fin>>cerinta>>n>>m>>k;
- fin>>xc>>yc;
- prim=ultim=1;
- x[prim]=xc;
- y[prim]=yc;
- a[xc][yc]=1;
- while(prim<=ultim)
- {
- x1=x[prim];
- y1=y[prim];
- for(int t=0;t<8;t++)
- {
- ni=x1+dlin[t];
- nj=y1+dcol[t];
- if(ni>=1&&ni<=n&&nj>=1&&nj<=m&&a[ni][nj]==0)
- {
- ultim++;
- a[ni][nj]=a[x1][y1]+1;
- x[ultim]=ni;
- y[ultim]=nj;
- }
- }
- prim++;
- }
- int mini=N*N,maxi=0;
- for(int i=1;i<=k;i++)
- {
- fin>>x1>>y1;
- if(a[x1][y1]>maxi)
- maxi=a[x1][y1];
- if(a[x1][y1]<mini)
- mini=a[x1][y1];
- }
- if(cerinta==1)
- fout<<mini-1;
- else fout<<maxi-1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement