Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("saritura_calului1.in");
- ofstream fout("saritura_calului1.out");
- int a[105][105],n,m;
- const int dx[8]={-1,1,2,2,1,-1,-2,-2};
- const int dy[8]={2,2,1,-1,-2,-2,-1,1};
- bool verif(int i,int j)
- {
- if(i<1||i>n||j<1||j>m)return 0;
- if(a[i][j])return 0;
- return 1;
- /*if(i>=1&&i<=n&&j>=1&&j<=m){
- if(a[i][j]==0)return 1;
- }
- return 0;*/
- }
- int numara(int x,int y)
- {
- int i,iv,jv,k=0;
- for(i=0;i<8;i++){
- iv=x+dx[i];
- jv=y+dy[i];
- if(verif(iv,jv))k++;
- }
- return k;
- }
- int cauta(int x,int y)
- {
- int i,iv,jv,mini=10,p,nr;
- for(i=0;i<8;i++){
- iv=x+dx[i];
- jv=y+dy[i];
- if(verif(iv,jv)){
- nr=numara(iv,jv);
- if(nr<=mini)
- {
- mini=nr;
- p=i;
- }
- }
- }
- return p;
- }
- int main()
- {
- int i,j,x,y,xv,yv,p;
- fin>>n>>m>>x>>y;
- a[x][y]=1;
- //xv=x;
- //yv=y;
- for(i=2;i<=n*m;i++){
- p=cauta(x,y);
- cout<<"p: "<<p<<'\n';
- x=x+dx[p];
- y=y+dy[p];
- cout<<"x: "<<x<<" y: "<<y<<'\n';
- a[x][y]=i;
- //x=xv;
- //y=yv;
- }
- for(i=1;i<=n;i++){
- for(j=1;j<=m;j++){
- fout<<a[i][j]<<" ";
- }
- fout<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement