/*problem 畫家問題
假設乙個ans陣列存的是對每乙個點的操作 0表示不圖 1表示圖
那麼 對於原圖 g 操作第三行時對第一行沒有影響 同樣往下類似的
所以 假設我們知道了ans的第一行就是最後答案的第一行 那麼對於ans的第二行 就必須是的第一行全變成黃色
以此類推 最後檢驗第n行 是不是全部黃色就好了
所以只需要列舉第一行的所有情況 共2的n次方種情況
*/#include
#include
#include
#define inff 0x7fffffff
using
namespace
std;
int n,ans[20][20],g[20][20],tmp[20][20],anss,minn=inff,tot;
char
s;void printf()//
計數 染了幾個
void pai()//
根據ans的第一行 逐行染色
}for(i=2;i<=n;i++)
for(j=1;j<=n;j++)
if(tmp[i-1][j]==1
)
for(i=1;i<=n;i++)//
最後檢驗最後一行是不是恰好全為黃色
if(tmp[n][i]==1)f=1
;
if(f==0
)printf();
}void dfs(int t)//
列舉ans的第一行的所有情況
ans[
1][t]=1;dfs(t+1
); ans[
1][t]=0;dfs(t+1);}
intmain()
dfs(1);
if(minn<0x7fffffff)cout
inf"
;}
luogu P1816 忠誠 題解
用st表來解決rmq問題。表示同時培訓學的st表,然後我就忘得差不多了,在這裡推薦一篇blog 大佬cym的 自己再 一篇 舉例 給出一陣列a 0 5 則區間 2,5 之間的最值為1。1 離線預處理 運用dp思想,用於求解區間最值,並儲存到乙個二維陣列中。具體解釋 1 離線預處理 st演算法使用dp...
洛谷P1816 忠誠
老管家是乙個聰明能幹的人。他為財主工作了整整10年,財主為了讓自已賬目更加清楚。要求管家每天記k次賬,由於管家聰明能幹,因而管家總是讓財主十分滿意。但是由於一些人的挑撥,財主還是對管家產生了懷疑。於是他決定用一種特別的方法來判斷管家的忠誠,他把每次的賬目按1,2,3 編號,然後不定時的問管家問題,問...
P1816 統計數字
某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 10 9 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。第1行是整數n 1 n 200000 表示自然數的個數。第2 n 1行每行乙個自然數。輸出包含m行 m...