歷屆試題 分考場

2021-09-12 06:20:38 字數 625 閱讀 7378

問題描述

n個人參加某項特殊考試。

為了公平,要求任何兩個認識的人不能分在同乙個考場。

求是少需要分幾個考場才能滿足條件。

輸入格式

第一行,乙個整數n(1輸出格式

一行乙個整數,表示最少分幾個考場。

樣例輸入58

1 21 3

1 42 3

2 42 5

3 44 5

樣例輸出

樣例輸入510

1 21 3

1 41 5

2 32 4

2 53 4

3 54 5

樣例輸出

#include#include#include#includeusing namespace std;

///dfs+回溯

int mp[150][150];///關係

int vis[150][150];///房間狀態標記

int n, m, ans = 150;

void dfs(int num, int room)///當前安排的人數(層數)。對應考場數

dfs(1,1);

cout

}

歷屆試題 分考場

問題描述 n個人參加某項特殊考試。為了公平,要求任何兩個認識的人不能分在同乙個考場。求是少需要分幾個考場才能滿足條件。輸入格式 第一行,乙個整數n 1一開始以為是簡單的貪心問題,可不想一直正確率40 最後發現還是需要採用回溯,在剪枝下深度遍歷所有情況.include int pre 100 100 ...

歷屆試題 分考場

問題描述 n個人參加某項特殊考試。為了公平,要求任何兩個認識的人不能分在同乙個考場。求是少需要分幾個考場才能滿足條件。輸入格式 第一行,乙個整數n 1 第二行,乙個整數m,表示接下來有m行資料 以下m行每行的格式為 兩個整數a,b,用空格分開 1 a,b n 表示第a個人與第b個人認識。輸出格式 一...

試題 歷屆試題 分考場

看的n不大,就100,我們想到直接暴力做,當然,最好還是剪枝一下,我這裡用了順序列舉,排序剪枝,中間判斷一下當前的考場數量比當前的ans是否大,如果大於等於了,就不用列舉,所以就兩次剪枝,我就過了 include include include include using namespace std...