1. 程式人生 > >2017網易春招 工作安排(dfs)

2017網易春招 工作安排(dfs)

現在有n位工程師和6項工作(編號為0至5),現在給出每個人能夠勝任的工作序號表(用一個字串表示,比如:045,表示某位工程師能夠勝任0號,4號,5號工作)。現在需要進行工作安排,每位工程師只能被安排到自己能夠勝任的工作當中去,兩位工程師不能安排到同一項工作當中去。如果兩種工作安排中有一個人被安排在的工作序號不一樣就被視為不同的工作安排,現在需要計算出有多少種不同工作安排計劃。
輸入描述:
輸入資料有n+1行:
第一行為工程師人數n(1 ≤ n ≤ 6)
接下來的n行,每行一個字串表示第i(1 ≤ i ≤ n)個人能夠勝任的工作(字串不一定等長的)

輸出描述:
輸出一個整數,表示有多少種不同的工作安排方案

輸入例子:
6
012345
012345
012345
012345
012345
012345

輸出例子:

720

思路:資料較小,dfs窮竭搜尋即可;

程式碼:

#include<iostream>
#include<cstring>
using namespace std;
bool can[6][6];
bool vis[6];
int n;
int ans=0;
void dfs(int now){
    if(now==n)
          ans++;
    for(int i=0;i<6;i++){
        if(can[now][i]&&!vis[i]){
            vis[i]=true;
            dfs(now+1);
            vis[i]=false;
        }
    }
}

int main(){
    cin>>n;
    memset(can,0,sizeof can);
    memset(vis,0,sizeof vis);
    for(int i=0;i<n;i++){
        string s;
        cin>>s;
        for(int j=0;j<s.length();j++)
            can[i][s[j]-'0']=true;
    }
    dfs(0);
    cout<<ans<<endl;
}


相關推薦

2017 工作安排dfs

現在有n位工程師和6項工作(編號為0至5),現在給出每個人能夠勝任的工作序號表(用一個字串表示,比如:045,表示某位工程師能夠勝任0號,4號,5號工作)。現在需要進行工作安排,每位工程師只能被安排到自己能夠勝任的工作當中去,兩位工程師不能安排到同一項工作當中去。如果兩種

2018程式設計題3交錯01串

如果一個01串任意兩個相鄰位置的字元都是不一樣的,我們就叫這個01串為交錯01串。例如: “1”,”10101”,”0101010”都是交錯01串。 小易現在有一個01串s,小易想找出一個最長的連續子串,並且這個子串是一個交錯01串。小易需要你幫幫忙求出最長的

2017編程集合

bbc 移除 規則 解題思路 兩個 最短 蘋果 最小步數 將不 CPP http://blog.csdn.net/achiberx/article/details/74058208 [編程題]回文序列 如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列

2017程式設計題 -- 星際穿越

題目描述 航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,科學家根據實驗資料估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2 程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會爆炸墜毀。問一艘耐久度為 h 的

2017內推筆試題

本人筆試的計算機視覺方向,程式設計題和其他研發崗位類似。 歡迎小夥伴們一起討論出正確答案。 共20個選擇題,3個程式設計題,1個簡答題 一.選擇題 1.Linux中,提供TCP/IP包過濾功能的軟體叫什麼? A.iptables B.r

2017內推程式設計題測試工程師--分蘋果

n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從一隻奶牛身上拿走恰好兩個蘋果到另一個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 -1。 輸入描述: 每個輸入包含

雲音樂評論爬蟲2:歌曲的全部評論

ima cbc 原理分析 nbsp oss 處理 oop win 接下來 用過網易雲音樂聽歌的朋友都知道,網易雲音樂每首歌曲後面都有很多評論,熱門歌曲的評論更是接近百萬或者是超過百萬條.現在我就來分享一下如何爬取網易雲音樂歌曲的全部評論,由於網易雲音樂的評論都做了混淆加密處

雲音樂評論爬蟲:爬取歌曲的全部評論

用過網易雲音樂聽歌的朋友都知道,網易雲音樂每首歌曲後面都有很多評論,熱門歌曲的評論更是接近百萬或者是超過百萬條.現在我就來分享一下如何爬取網易雲音樂歌曲的全部評論,由於網易雲音樂的評論都做了混淆加密處理,因此我們需要深入瞭解它的加密過程之後才能爬取到網易雲音樂歌曲的全部評論.  一,首

2018屆面試回顧

關於春招 由於自己當時對春招完全沒有概念,一直認為春招是五六月才開始面試,想著開學後再準備,寒假年前的時間都花來準備美賽和參加美賽了(雖然最後也拿了個M獎啦~),年後沒多久就開學了,開學之後又大病一場,緩過神已經接到面試通知了,所以整個春招完全是一種懵逼的狀態。 最後提一

2018屆面試回顧

前言 前兩篇分別介紹了網易和騰訊的面試,這兩家公司作為國內遊戲行業數一數二的公司,它們的面試流程相對固定,問題也比較常規,當然對面試者的要求也非常高。在2018屆的春招中,除了騰訊網易外,我還參加了YY-歡聚時代、4399以及阿里遊戲的面試,這三場面試的內容隨機性比較大,所

互娛面試總結

~~~~總結基礎知識~~~ 1.生成隨機陣列        方案一: import random  === random.shuffle        方案二:隨機輸出一個數,然後和前面的一個數進行交換 2.快速排序       基本思想:          1)

斯坦福機器學習: 公開課系列筆記——高斯判別分析、樸素貝葉斯

高斯判別分析(Gaussian discriminant analysis) 判別模型和生成模型       前面我們介紹了Logistic迴歸,通過學習hΘ(x)來對資料的分類進行預測:給定一個特徵向量x→輸出分類y∈{0,1}。這類通過直接

大廠面試題計算機網路

        個人覺得如果要達到計算機大牛,無論主攻那個技術領域,計算機網路中一些解決問題的思想都能夠讓你受益頗深。 1.  OSI與TCP/IP各層的結構與功能,都有哪些協議。  下層向上層提供服務。 TCP/IP通訊協議採用了4層的層級結構,每一層都呼叫它的下一層

即時通訊心得體會2

這裡接著上一篇說,這篇也主要介紹我攻讀API和SDK的心得體會,以及產品是否合格。 1.讀API的技巧 API連結戳這裡 我首先看的是API,想知道他能實現哪些功能。API的分類很清晰,一共五個類,其中的NIM是核心,其他的四個可以說是擴充套件。我用的

遊戲研發工程師2018線上筆試不全 未測

記錄一下自己的(zz)程式碼,題目只取其意。一、畫等腰三角形題目:給定數字N,輸出用‘*’表示邊,‘.’表示空白,的一個高為N底為2N-1的等腰三角形不要輸出空格如:N=5:. . . . *. . . *. *. . *. . . *. *. . . . . *******

2017.09.09筆試第一題

題目忘了,大意是:給你一個長度為n的整形陣列A,你可以對A中的元素進行各種排列組合,看是否存在滿足以下條件的陣列:在該陣列中,A[i]*A[i+1]%4==0,這裡0<=i<=n-1。 資料輸入格式是:第一行,一個整數n,表示陣列的長度;第二行n個整數,表示陣列的所有元素。 如果

2017網路筆試第二題,java實現

拿到這個題第一時間我是懵逼的,最終也沒做出來,不過後來繼續思考,又找了找資料,思路就出來了。首先是找到合法的括號序列。(這也是我的瓶頸,之前沒接觸過這種題,哎,太low了我。)此處參考部落格:http://blog.csdn.net/xiaohei00000/article/details

2017Java面試題

昨天參加了網易2017年校招面試,但是,一輪就被刷下來。仔細想想,確實自己實力不夠,今後需要更加努力!以下我是本次面試的經歷,主要講述面試題。 簡訊預約的是下午三點的面試,可是等到大概三點半才開始面試。我面試的Java開發,面試之前的幾天也抽時間看了點網上的資

2017網際網路內推筆試題獎學金問題

//來源:網易 //獎學金 //題目描述:小v今年有n門課,每門都有考試,為了拿到獎學金,小v必須讓自己的平均成績至少為avg。 // 每門課由平時成績和考試成績組成,滿分為r。現在他知道每門課的平時成績為ai , // 若想讓這

2019屆秋面試回顧——互娛&多益網路

關於秋招 來到秋招,本以為有了春招的經歷,秋招能夠更加得心應手,但真正面下來之後,發現無論是面試形式還是面試難度上,與春招相比都有了一些不同,自己也有些猝不及防。除此之外,由於學校放假比較晚,對於一些面試開始得非常早的公司來說,整個準備時間就顯得非常短了,而且同時又要兼顧在