/* dp维护整体的概率, 每次相当于回退一格然后重新dp一格 */ #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #include<queue> #define ll long long #define M 202 #define mmp make_pair using namespace std; int read() { int nm =…
(x,y,z)表示格子(x,y)的值为z,也就是x行+y列加的次数等于z,相当于差分约束的条件,用dfs判断冲突即可. #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=2005; int T,n,m,k,cnt,p,h[N],va[N],f; bool v[N]; struct qwe { int ne,to,va; }e[N<<1]…