POJ 1084 很煩人的DLX

2021-05-31 23:32:51 字數 1147 閱讀 7475

dlx。。。

一開始讀錯題目了。。。是要把所有正方形都消掉!!!

**裡面有兩種統計正方形和火柴的方法,都值得借鑑。。orz

發一下**

#include#include#include#includeusing namespace std;

const int head=0;

const int inf=10000000;

const int maxn = 1000;

const int maxd = 10000;

int cnt, res;

int mat[maxn][maxn], s[maxn], l[maxd], r[maxd], u[maxd], d[maxd], c[maxd], o[maxn], row[maxd];

bool use[maxn];

void makegragh(int &n, int &m)

void initial(int n, int m)

cnt=m+1;

for(i=1; i<=n; i++)

else

cnt++;}}

//puts("");

}}void remove(int c)

}void resume(int c)

int h()

return ans;

}bool dfs(int k)

else if (i % (2*n+1)==n+1)

else if (i % (2*n+1)==0)

else if (i % (2*n+1)>n+1)

else

}/*for (int i=1;i<=2*n*(n+1);++i)

}*/int numofsq;

void makestick(int n)

{ memset(stick,0,sizeof(stick));

numofsq=0;int ss;

for (int c=1;c<=n;++c)

{for (int i=1;i<=n-c+1;++i)

{for (int j=1;j<=n-c+1;++j)

{++numofsq;

//up

ss=(i-1)*(2*n+1)+j;

for (int p=0;p

1084 外觀數列

1084 外觀數列 20 分 外觀數列是指具有以下特點的整數序列 d,d1,d111,d113,d11231,d112213111,它從不等於 1 的數字d開始,序列的第 n 1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個d,所以就是d1 第 2 項是 1 個d 對應d1 和 1...

1084 外觀數列

1084 外觀數列 20 分 外觀數列是指具有以下特點的整數序列 d,d1,d111,d113,d11231,d112213111,它從不等於 1 的數字d開始,序列的第 n 1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個d,所以就是d1 第 2 項是 1 個d 對應d1 和 1...

1084 外觀數列

1084 外觀數列 20 分 外觀數列是指具有以下特點的整數序列 d,d1,d111,d113,d11231,d112213111,它從不等於 1 的數字d開始,序列的第 n 1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個d,所以就是d1 第 2 項是 1 個d 對應d1 和 1...