n 個人圍坐一圈,有 m 對朋友關係。
第 i 對朋友關係是指,編號是 ai的人和編號是 bi 的人是朋友。
現在要給他們安排座位,要求所有相鄰的人不能是朋友。
問共有多少種方案?
如果兩個方案只有旋轉角度不同,則我們將其視為一種方案。
輸入格式
第一行包含兩個整數 n,m。
接下來 m 行,每行包含一對 ai,bi。
輸出格式
輸出乙個數,表示總方案數。
資料範圍
3≤n≤10,
0≤m≤n(n
−1)2
\frac
2n(n−1
),1≤ai
i≤n,
(ai,bi)≠(aj,bj),
所有輸入均為整數。
輸入樣例1:
4 1輸出樣例1: 輸入樣例2:1 2
10 5輸出樣例2:1 23 4
5 67 8
9 10
#include
using
namespace std;
int n,m;
int path[15]
;//安排的方案
bool r[15]
[15],vis[15]
;//r為朋友關係、vis代表第i個人是否已經被使用
intdfs
(int x)
int result=0;
for(
int i=
1;i<=n;i++)}
return result;
}int
main()
//設定第乙個人已被使用
vis[1]
=true
;//因為旋轉不同,視為同一種方案,所以固定住第乙個人永遠為1
//那些不是以1開頭的排列其實都可以由1開頭的排列旋轉得到
path[0]
=1;//注意:因為第0個位置已經固定好安排序號為1的人了,所以dfs要從1開始
cout<<
dfs(1)
}
1214 圓桌會議
problem description hdu acm集訓隊的隊員在暑假集訓時經常要討論自己在做題中遇到的問題.每當面臨自己解決不了的問題時,他們就會圍坐在一張圓形的桌子旁進行交流,經過大家的討論後一般沒有解決不了的問題,這也只有hdu acm集訓隊特有的圓桌會議,有一天你也可以進來體會一下哦 在一...
HDU 4841 圓桌問題
acm模版 這個題簡單的來就是暴力列舉約瑟夫環,當然,太暴力也不好,適當的用資料結構優化一下也是有必要的,這裡用向量維護,成功水過。include include include include include using namespace std const int maxn 4e4 const...
P3254 圓桌問題
假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為ri i 1 2,m r i i 1,2,m 會議餐廳共有n 張餐桌,每張餐桌可容納ci i 1 2,n c i i 1,2,n 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出...