Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <queue>
- #define MAX 105
- using namespace std;
- ifstream fin("iesire.in");
- ofstream fout("iesire.out");
- int a[MAX][MAX];
- int viz[MAX][MAX];
- int di[4]= {-1,0,1,0};
- int dj[4]= {0,1,0,-1};
- queue<pair<int, int> > q;
- queue<pair<int, int> > q2;
- void gard(int n)
- {
- for(int i=0; i<=n+1; i++)
- {
- a[0][i]=-1;
- a[n+1][i]=-1;
- viz[0][i]=-1;
- viz[n+1][i]=-1;
- }
- for(int j=0; j<=n+1; j++)
- {
- a[j][0]=-1;
- a[n+1][j]=-1;
- viz[j][0]=-1;
- viz[j][n+1]=-1;
- }
- n++;
- }
- bool valid(int n,int i, int j)
- {
- }
- bool LEE(int i, int j)
- {
- int nexti=0, nextj=0;
- q.push({i,j});
- while(!q.empty())
- {
- i=q.front().first;
- j=q.front().second;
- q.pop();
- for(int k=0; k<4; k++)
- {
- nexti=i+di[k];
- nextj=j+dj[k];
- if(a[nexti][nextj]==0 && !viz[nexti][nextj])
- {
- viz[nexti][nextj]=4;
- viz[q2.front().first][q2.front().second]=5;
- q.push({nexti,nextj});
- }
- }
- }
- }
- int main()
- {
- int n,m,x,y,nexti,nextj;
- fin>>n>>m;
- for(int i=1; i<=n; i++)
- {
- for(int j=1; j<=n; j++)
- {
- fin>>a[i][j];
- }
- }
- gard(n);
- for(int i=1; i<=m; i++)
- {
- fin>>x>>y;
- q2.push({x,y});
- }
- for(int i=1; i<=n; i++)
- {
- for (int j=1; j<=n; j++)
- {
- for(int k=0; k<4; k++)
- {
- nexti=di[k]+i;
- nextj=dj[k]+j;
- while(!q2.empty())
- {
- if(LEE(q2.front().first,q2.front().second)==true)
- {
- if(viz[i][j]==5)
- {
- fout<<"da\n";
- }
- }
- else
- {
- fout<< "nu\n";
- }
- q2.pop();
- }
- }
- }
- }
- for(int i=1; i<=n; i++)
- {
- for(int j=1; j<=n; j++)
- {
- fout<<viz[i][j]<<" ";
- }
- fout<<endl;
- }
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement