這應該是普及組都應該會的玩意吧。。。
做組合數學的數學題時,做到了乙個求6頂點4顏色點著色種數的題,恕我直言,我不會用漂亮的方法來做,然而我這個不氪金的網遊一樣的腦袋就想著去寫個程式試試,結果發現我居然連深搜都無法寫出正確結果。再加上昨天cf史上新低,居然一題都沒過嚇壞了我們學校的學長。是時候反思一下了,省選臨近,雖然我是湊數的但是也不能掉以輕心啊。
//這是固定的6頂點4顏色方法(因為數學卷子上資料是這個)
//當然可以改為普通的n頂點m顏色方法,scanf乙個n,m就完了
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=100;
int n=6;
int m=4;
int ans=0;
vector
g[maxn];
int color[maxn];
void addedge(int from,int to)
bool check(int v)
}return
true;
}void colored()
else
}if(k==n && color[k]<=m)
else
if(kelse
}}int main()
colored();
printf("%d\n",ans);
return
0;}
那麼繼續吧 我這個智障的oi歷程 N皇后的遞迴和非遞迴實現
著名的八皇后問題大家應該都知道,不過以防萬一這裡還是再說一下 八皇后問題是乙個以西洋棋為背景的問題其內容為求解如何能夠在 8 8 的西洋棋棋盤上放置八個皇后,使得任何乙個皇后都無法直接吃掉其他的皇后?即任意兩個皇后都不能處於同一條橫行 縱行或斜線上。而n皇后顧名思義就是同樣的規則擴充套件到n個皇后。...
m個珠子共n種顏色,找出包含n種顏色的最短連續片段
原題目 題目分析 一 暴力搜尋 1 最簡單的方法 暴力搜尋,逐個掃瞄第i個位置開始包含n中顏色最短區間,時間複雜度為o m 2 2 從i開始掃瞄,每出現一種新的顏色,計數 1 當計數 n時候,結束,此時即為i開始的最短區間 二 1 掃瞄一遍陣列m,計算出每種顏色在陣列m中下一次出現的位置,存在資料n...
N皇后問題的遞迴與非遞迴解法
n皇后問題 n皇后問題是將n個皇后放置在n n的棋盤上,皇后彼此之間不能相互攻擊。給定乙個整數n,返回所有不同的n皇后問題的解決方案。每個解決方案包含乙個明確的n皇后放置布局,其中 q 和 分別表示乙個女王和乙個空位置。樣例對於4皇后問題存在兩種解決的方案 q.solution 1 q q.q.q....