當前位置:
首頁 >
工作安排
發(fā)布時間:2023/12/29
25
豆豆
現(xiàn)在有n位工程師和6項工作(編號為0至5),現(xiàn)在給出每個人能夠勝任的工作序號表(用一個字符串表示,比如:045,表示某位工程師能夠勝任0號,4號,5號工作)?,F(xiàn)在需要進行工作安排,每位工程師只能被安排到自己能夠勝任的工作當中去,兩位工程師不能安排到同一項工作當中去。如果兩種工作安排中有一個人被安排在的工作序號不一樣就被視為不同的工作安排,現(xiàn)在需要計算出有多少種不同工作安排計劃。
輸入描述:
輸入數(shù)據(jù)有n+1行:
第一行為工程師人數(shù)n(1 ≤ n ≤ 6)
接下來的n行,每行一個字符串表示第i(1 ≤ i ≤ n)個人能夠勝任的工作(字符串不一定等長的)
輸出描述:
輸出一個整數(shù),表示有多少種不同的工作安排方案
輸入例子:
6
012345
012345
012345
012345
012345
012345
輸出例子:
720
簡單的搜索題
#include"iostream" #include"string.h" using namespace std; string ai[10]; int n; bool sign[200]; int num=0; void dfs(int cur) {if(cur==n){num++;}for(int i=0;i<ai[cur].size();i++){int a=ai[cur][i]-'0';if(!sign[a]){sign[a]=true;dfs(cur+1);sign[a]=false;}}}int main() {memset(sign,0,sizeof(sign));cin>>n;for(int i=0;i<n;i++)cin>>ai[i];dfs(0);cout<<num<<endl;return 0; }總結(jié)
- 上一篇: Intellij Idea运行Play
- 下一篇: 十进制转二进制C语言版