poj 3279 Fliptile 列舉 模擬

2021-07-10 02:31:06 字數 1311 閱讀 7404

簡要題意:踩乙個點翻轉周圍五個點,求全翻成白色的方案中殘磚次數最少而且字典序最小的。

我們可以首先確定第一行的翻轉情況,這個用二進位制列舉。

然後之後每一行的翻轉情況就已經可以確定了,然後模擬出來就可以了。

算是比較經典的題,好像看到過不少類似的題。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define fi first

#define se second

using

namespace

std;

typedef

long

long ll;

typedef pair pii;

// head

const

int n = 20;

const

int inf = 1e9;

int dx[5] = ;

int dy[5] = ;

bool a[n][n];

bool b[n][n];

bool c[n][n];

bool res[n][n];

void duang(int x, int y)

}bool checkline(int x, int m)

return

true;

}void init(int n, int m, int mask)

}for (int i = 0; i < m; i++)

}}bool process(int n, int m)

}} return checkline(n, m);

}void printans(int n, int m)

}}int getcnt(int n, int m)

}return ans;

}int main()

}int mx = 1

<< m;

int ans = inf;

for (int mask = 0; mask < mx; mask++)

}if (ans == inf) else

memset(res, 0, sizeof res);

}return

0;}

POJ3279 Fliptile 開關問題

記錄乙個菜逼的成長。挑戰程式設計書上的 pragma comment linker,stack 1024000000,1024000000 include include include include include include include include include include ...

反轉問題 POJ 3279 Fliptile

problem description 農夫約翰直到聰明的牛產奶多。於是為了提高牛的至上他準備了如下遊戲。有乙個n m的格仔,每個格仔可以翻轉正反面,它們一面是黑色,另一面是白色。黑色的格仔翻轉後就是白色,白色的格仔翻轉過來則是黒色。遊戲要做的就是把所有的格仔都翻轉成白色。不過因為牛蹄很大,所以每次...

poj 3279 Fliptile 暴力搜尋

當第一行確定後,後面的翻轉必須保證前一行正確,也就是可以通過前一行的情況,確定當前翻轉情況。那列舉第一行,計算答案就可以了 include include include includeusing namespace std int n,m,g 16 16 flip 16 16 ans,as 16 ...