Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream f("kte.in");
- ofstream g("kte.out");
- int tbl[15][15],k,xs,ys,n,m;
- int deplx[]={2,2,1,-1,-2,-2,-1,1}, deply[]={-1,1,2,2,1,-1,-2,-2};
- void Greedy(int x, int y)
- {
- if (k<n*m)
- {
- int xm,ym,pm=9;
- for (int i=0;i<8;i++)
- {
- int xn,yn,p=0;
- xn=x+deplx[i];
- yn=y+deply[i];
- if (xn>0 && xn<=n && yn>0 && yn<=m && tbl[xn][yn]==0)
- {
- for (int j=0;j<8;j++)
- {
- int xnn=xn+deplx[j];
- int ynn=yn+deply[j];
- if (xnn>0 && xnn<=n && ynn>0 && ynn<=m && tbl[xnn][ynn]==0)
- p++;
- }
- if (p<pm)
- {
- xm=xn;
- ym=yn;
- pm=p;
- }
- }
- }
- tbl[xm][ym]=++k;
- Greedy(xm,ym);
- }
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=m;j++)
- {
- if (tbl[i][j]<10)
- g<<' ';
- g<<tbl[i][j]<<' ';
- }
- g<<'\n';
- }
- }
- int main()
- {
- f>>n>>m>>xs>>ys;
- tbl[xs][ys]=++k;
- Greedy(xs,ys);
- afisare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement