今天蒜頭君裝修新家,給家裡買了一種 1 \times 21×
2的長方形(如圖1)新瓷磚。蒜頭君是個懂得審美的人,畢竟人生除了金錢,還有詩和遠方。
這個時候蒜頭君就在想,這種長方形的瓷磚鋪到乙個 10 \times 1010
×10 的地面上有多少種方案?(如圖2:是 4 \times 44×
4 地面的一種方案)
圖1:
圖2:
#include #include #include #define ll long long
using namespace std;
const int maxn=13;
int w,h,tan;
ll dp[13][2100];//1<<11
int path[14000][2];//11*(1<<11)
void dfs(int l,int now,int pre)
dfs(l+2,(now<<2)|3,(pre<<2)|3);
dfs(l+1,(now<<1)|1,pre<<1);
dfs(l+1,now<<1,(pre<<1)|1);
} int main()
{ while(~scanf("%d%d",&h,&w))
{ if(!h&&!w)break;
if(h狀態壓縮問題:
傳送門: 狀態壓縮詳解
poj
狀態壓縮dp入門 鋪磚問題
mondriaan s dream hardwood floor 第一道題目是只有一種磚,2x1可以橫著鋪,可以豎著鋪,問有多少種鋪法第二道是有兩種磚,一種是2x1的,一種是2x2的去掉乙個1x1的角也是問有多少中鋪法首先第一道我們用0 1來表示不鋪和鋪兩種狀態每一行用01字串表示狀態然後再轉化為乙...
鋪瓷磚 狀壓dp經典問題
給出 n m的矩形方塊,可以往上面鋪1 2的磚塊,問鋪滿這個方塊的方案有多少種。磚塊可以豎鋪和橫鋪,豎鋪的話會影響到下一行,橫鋪的話不會影響到下一行,這裡我們令1 表示該方塊不會影響下一行,0 表示該方塊會影響下一行。條件一 考慮 i.j 這一格,如果 i 1,j 上是0,那說明 i 1,j 是豎鋪...
鋪瓷磚 狀壓dp
最近學了狀壓dp,把之前未解決的題目捋一捋。這是之前的一道題 今天蒜頭君裝修新家,給家裡買了一種 1 2或2 1 的長方形 如圖1 新瓷磚。蒜頭君是個懂得審美的人,畢竟人生除了金錢,還有詩和遠方。這個時候蒜頭君就在想,這種長方形的瓷磚鋪到乙個 10 10 10 times 10 10 10 的地面上...