給定乙個01矩陣,其中你可以在0的位置放置攻擊裝置。每乙個攻擊裝置(x,y)都可以按照「日」字攻擊其周圍的 8個位置(x-1,y-2),(x-2,y-1),(x+1,y-2),(x+2,y-1),(x-1,y+2),(x-2,y+1), (x+1,y+2),(x+2,y+1)
求在裝置互不攻擊的情況下,最多可以放置多少個裝置。
第一行乙個整數n,表示矩陣大小為n*n。接下來n行每一行乙個長度n的01串,表示矩陣。
乙個整數,表示在裝置互不攻擊的情況下最多可以放置多少個裝置。
3010
000100
4歡迎去學一下網路流24題 -- 騎士共存問題, 沒了。
#include #include #include #include #include using namespace std;const int n =5e5+10;
const int inf = 0x3f3f3f3f;
#define p(i,j) ((i-1)*m+j)
int head[n+10],to[n*6+10],val[n*6+10],nxt[n*6+10];
int cnt = 1;
int dep[n+10];
int map[311][311];
int n,m,s,t;
int dx[10]=;
int dy[10]=;
void add_edge(int a,int b,int c)
queueq;
bool bfs()
} }return dep[t]!=0;
}int dfs(int p,int mf)
} return nf;
}int sum;
void dinic()
printf("%d\n",sum-ans);
}int main()
else
add_edge(p(i, j), t, 1);
}} }
for(int i=1;i<=n;i++) }}
} }dinic();
}
BZOJ3175 Tjoi2013 攻擊裝置
bzoj3175 tjoi2013 攻擊裝置 給定乙個01矩陣,其中你可以在0的位置放置攻擊裝置。每乙個攻擊裝置 x,y 都可以按照 日 字攻擊其周圍的 8個位置 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 求在裝置...
BZOJ3175 Tjoi2013 攻擊裝置
給 定乙個01矩陣,其中你可以在0的位置放置攻擊裝置。每乙個攻擊裝置 x,y 都可以按照 日 字攻擊其周圍的 8個位置 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 求在裝置互不攻擊的情況下,最多可以放置多少個裝置。第...
BZOJ5334 Tjoi2018 數學計算
time limit 10 sec memory limit 256 mb submit 234 solved 155 小豆現在有乙個數x,初始值為1.小豆有q次操作,操作有兩種型別 1 m x x m 輸出 x mod 2 pos x x 第pos次操作所乘的數 保證第pos次操作一定為型別1,對...