#include <iostream> usingnamespace std; constint MAXN=1010; constint MAXLEN=MAXN*100+MAXN; int L[MAXLEN]; int R[MAXLEN]; int D[MAXLEN]; int U[MAXLEN]; int nRow[MAXLEN]; int nCol[MAXLEN]; int Col[MAXN]; //判定列集是否已插入 int Row[MAXN]; //判定行集是否已插入 int RC[MAXN][MAXN]; //判定元素是否已插入 int RS[MAXN],CS[MAXN]; //行长与列长 int eid; //内存标识 int head; int Cn; int N,M; int ans[MAXN]; int alen; //DLX算法 进行精确覆盖 判定前请先判断是否各列中都有1存在 //对于行列唯一的情况 可以考虑将RC数组取消以加速 inline void init() }