老套路 每次遞迴 都找最左上角的空白位置 這個地方是必須要填滿的 如果放不下合適的瓷磚直接返回即可 具有很強的剪枝效果
遞迴時的引數為已鋪的面積 若已鋪滿 則判重後累加答案即可
#include using namespace std;
const int maxn=20;
map mp;
int book[maxn][maxn];
int n=3,m=10,sum=30;
void getpos(int &x,int &y)}}
}bool judgeii(int x,int y)
else return 1;
}bool judgei(int x,int y)
int dfs(int area)
}if(!mp[val])
else return 0;
}getpos(x,y);
//printf("*%d %d*\n",x,y);
res=0;
if(xbook[x][y]=book[x+1][y]=1;
if(judgei(x,y)&&judgei(x+1,y))
book[x][y]=book[x+1][y]=-1;
}if(ybook[x][y]=book[x][y+1]=1;
if(judgei(x,y)&&judgei(x,y+1))
book[x][y]=book[x][y+1]=-1;
}return res;
}int main()
藍橋杯 磁磚樣式(dfs)
小明家的一面裝飾牆原來是 3 10 的小方格。現在手頭有一批剛好能蓋住2個小方格的長方形瓷磚。瓷磚只有兩種顏色 黃色和橙色。小明想知道,對於這麼簡陋的原料,可以貼出多少種不同的花樣來。小明有個小小的強迫症 忍受不了任何2 2的小格仔是同一種顏色。瓷磚不能切割,不能重疊,也不能只鋪一部分。另外,只考慮...
藍橋國賽真題 雷射樣式
x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?顯然,如果只有3臺機器,一共可以成5種樣式,即 全都關上 sorry,此時無聲勝有聲,這也算一...
藍橋杯真題 2020藍橋杯真題 跑步鍛鍊
小藍每天都鍛鍊身體。正常情況下,小藍每天跑 1 千公尺。如果某天是周一或者月初 1 日 為了激勵自己,小藍要跑 2 千公尺。如果同時是周一或月初,小藍也是跑 2 千公尺。小藍跑步已經堅持了很長時間,從 2000 年 1 月 1 日週六 含 到 2020 年10 月 1 日周四 含 請問這段時間小藍總...