JZOJ3807 地磚鋪設

2021-07-25 22:08:51 字數 983 閱讀 2682

在遊戲廳大賺了一筆的randy 終於贏到了他想要的家具。乘此機會,他想把自己的房間好好整理一下。

在百貨公司,可以買到各種各樣正方形的地磚,為了美觀起見,randy 不希望同樣顏色的正方形地

磚相鄰。所以他找到了tio 來幫忙解決這件事情。

tio 很快解決了這個任務。然而,出於某種強迫症,她希望在地上按照長寬劃分成網格後,逐行逐

列每一塊的顏色組成的序列的字典序最小。她希望你幫忙驗證一下她的方案。

從左到右從上到下填,對於每個格仔,先判斷它可以填的最小的字母是什麼,如果這個字母和前面的相等,那麼就以前面那個為左上角擴充套件乙個最大的正方形。

#include

#include

#include

#include

#define fo(i,j,k) for(int i=j;i<=k;i++)

#define fd(i,j,k) for(int i=j;i>=k;i--)

#define n 110

using

namespace

std;

int a[n][n];

bool bz[n][n];

void print(int x1,int y1,int x2,int y2,int c)

int find(int x,int y)

int find1(int x,int y)

int n,m;

int qq;

void dfs(int x,int y)

if(a[x][y]!=-1)

int co=find1(x,y),cc=find(x,y);

if(!bz[x][y-1] && cc==a[x][y-1])

else a[x][y]=co;

if(y<=m) dfs(x,y+1);

else dfs(x+1,1);

}int main()

}

JZOJ 3807 地磚鋪設

在遊戲廳大賺了一筆的randy 終於贏到了他想要的家具。乘此機會,他想把自己的房間好好整理一 下。在百貨公司,可以買到各種各樣正方形的地磚,為了美觀起見,randy 不希望同樣顏色的正方形地 磚相鄰。所以他找到了tio 來幫忙解決這件事情。tio 很快解決了這個任務。然而,出於某種強迫症,她希望在地...

JZOJ 1245 穿越泥地 bfs

傳送門 問從起點到達指定點而不走過泥潭的最小步數是多少 因為座標可能會是負數,所以我們統一加上500 50050 0使得座標變為非負數 然後怒跑bfs bfsbf s include include include include include include include include de...

JZOJ 4016 圈地為王

description 在 n 行 m 列的網格中,你要圈一些地。你從左上角出發,最後返回左上角,路徑內部的區域視為被你圈住。你不可以進入網格內部,只能在邊上行走。你的路徑不能在左上角以外自交,但是邊足夠寬,你可以重複經過而不自交。網格中有一些格仔對你很重要,你要盡量圈住它 而另一些格仔對你有壞處,...