QWQ

P3395 路障

@[坏掉了](/space/show?uid=100592) 代码
by Meatherm @ 2019-02-03 21:43:23


```cpp #include <cstdio> #include <iostream> #include <cstring> #include <queue> #include <algorithm> using namespace std; bool a[10005][10005]; int n,t; int ix[10005],iy[10005]; int dx[4] = {0,1,0,-1}; int dy[4] = {1,0,-1,0}; struct Pos{ int x, y; }; queue<Pos> bq; int main(){ cin>>t; while(t--){ while(!bq.empty()){ bq.pop(); } memset(ix,0,sizeof(ix)); memset(iy,0,sizeof(iy)); cin >>n; for(int j = 1; j <= 2*n-2; j++) cin >> ix[j]>>iy[j]; for(int i = 0; i <= n+1; i++) for(int j = 0; j <= n+1; j++) if(i == 0 || j == 0 || i == n+1 || j == n+1) a[i][j] = 1; else a[i][j] = 0; bq.push({1,1}); a[1][1] = 1; int tag=0; int p=0; while( !bq.empty() ){ Pos head = bq.front(); a[ix[p]][iy[p]]=1; p++; if(head.x == n && head.y == n){ cout<<"Yes"<<endl; tag = 1; break; } for(int i = 0; i < 4; i++){ int tx = head.x+dx[i], ty = head.y+dy[i]; if(a[tx][ty] != 1){ a[tx][ty] = 1; /*for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++) cout<<a[i][j]; cout<<endl; } cout<<endl;*/ bq.push({tx, ty}); } } bq.pop(); } if(tag == 0) cout << "No"<<endl; } return 0; } ``` 四个REqwq
by Tsumi @ 2019-02-03 21:46:15


@[兹磁洛谷](/space/show?uid=108949)
by Tsumi @ 2019-02-03 21:49:44


@[坏掉了](/space/show?uid=100592) 我有空给你看下,现在在老家qaq
by Meatherm @ 2019-02-04 08:37:18


@[兹磁洛谷](/space/show?uid=108949) 吼,我自己也调一调
by Tsumi @ 2019-02-04 08:38:13


|