Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <iomanip>
- using namespace std;
- ifstream f("date.in");
- ofstream g("date.out");
- int t[10][10];
- void scrie (int n,int m,int t[][10])
- {
- int i,j;
- for (i=1;i<=n;i++)
- {
- for (j=1;j<=m;j++)
- g<<setw(4)<<t[i][j]<<' ';
- g<<endl;
- }
- g<<endl;
- }
- void traseu (int n,int m,int t[][10],int i,int j,int pas,int l[][10])
- {
- int k,in,jn,x[5]={0,0,1,0,-1},y[5]={0,1,0,-1,0};
- for (k=1;k<=4;k++)
- {
- in=i+x[k];
- jn=j+y[k];
- if (in>=1 && in<=n && jn>=1 && jn<=n)
- if (t[in][jn]==0 && l[in][jn]==1)
- {
- t[in][jn]=pas;
- if (in==1 || in==n || jn==1 || jn==m )
- scrie (n,m,t);
- else
- traseu (n,m,t,in,jn,pas+1,l);
- t[in][jn]=0;
- }
- }
- }
- int main()
- {
- int n,m,i,j,l[10][10],i1,j1;
- f>>n>>m;
- f>>i>>j;
- for (i1=1;i1<=n;i1++)
- for (j1=1;j1<=m;j1++)
- f>>l[i1][j1];
- t[i][j]=1;
- if (l[i][j]==1)
- traseu (n,m,t,i,j,2,l);
- f.close();
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement