#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
#define fi first
#define se second
#define ll long long
#define pb push_back
int arx[4]={1,-1,0,0};
int ary[4]={0,0,1,-1};
int n,m,k;
int dp[31][31];
int cur;
vector<int> res;
set<pair<int,int>> st;
bool valid(int x,int y){
if(x<0||x>=n||y<0||y>=m) return false;
return true;
}
void dfs(int x,int y,int a,int b){
queue<pair<int,int>> q;
q.push({x,y});
while(!q.empty()){
int x=q.front().fi;
int y=q.front().se;
q.pop();
if(dp[x][y]==k){
//cout <<dp[x][y]<<" "<<a<<" "<<b<<" "<<x<<" "<<y<<endl;
st.insert({min(a*m+b,x*m+y),max(a*m+b,x*m+y)});
res.pb(cur);
cur++;
}
for (int i = 0; i < 4; ++i)
{
int curx=x+arx[i];
int cury=y+ary[i];
if(valid(curx,cury)){
//cout <<"hey"<<endl;
if(dp[curx][cury]<=dp[x][y]+1) continue;
dp[curx][cury]=dp[x][y]+1;
q.push({curx,cury});
}
}
}
}
void construct_network(int H, int W, int K) {
n=H;
m=W;
k=K;
cur=n*m;
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < m; ++j)
{
for (int k = 0; k < n; ++k)
{
for (int t = 0; t < m; ++t)
{
dp[k][t]=1e9;
}
}
dp[i][j]=0;
dfs(i,j,i,j);
/*for (int k = 0; k < n; ++k)
{
for (int t = 0; t < m; ++t)
{
cout << dp[k][t]<<" ";
}cout <<endl;
}cout <<endl;*/
}
}
for(auto u:st){
add_and({u.fi,u.se});
}
add_or(res);
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
WA in grader: Invalid index |
2 |
Halted |
0 ms |
0 KB |
- |