1. 程式人生 > >網易2017內推筆試題目

網易2017內推筆試題目

http://www.nowcoder.com/discuss/6959?type=3&order=0&pos=2&page=1

[程式設計題] 幸運的袋子
一個袋子裡面有n個球,每個球上面都有一個號碼(擁有相同號碼的球是無區別的)。如果一個袋子是幸運的當且僅當所有球的號碼的和大於所有球的號碼的積。
例如:如果袋子裡面的球的號碼是{1, 1, 2, 3},這個袋子就是幸運的,因為1 + 1 + 2 + 3 > 1 * 1 * 2 * 3
你可以適當從袋子裡移除一些球(可以移除0個,但是別移除完),要使移除後的袋子是幸運的。現在讓你程式設計計算一下你可以獲得的多少種不同的幸運的袋子。 
輸入描述:
第一行輸入一個正整數n(n ≤ 1000
) 第二行為n個數正整數xi(xi ≤ 1000) 輸出描述: 輸出可以產生的幸運的袋子數 輸入例子: 3 1 1 1 輸出例子: 2 #include <iostream> #include <algorithm> #include <vector> using namespace std; int dfs( int i, int s, int p, vector<int> &data, int nxt[], int n ) { if( i >= n ) { return s > p; } if
( data[i] > 1 && s < p ) { return 0; } return dfs( i + 1, s + data[i], p * data[i], data, nxt, n ) + dfs( nxt[i], s, p, data, nxt, n ); } int main() { int ret = 0; const int NUM = 1001; int n = 0; int nxt[NUM]; while( cin >> n ) { vector
<int>
data( n, 0 ); for( int i = 0; i < n; i++ ) { cin >> data[i]; } sort( data.begin(), data.end() ); int pos = n; for( int i = n - 1; i >= 0 ; i-- ) { if( i < n - 1 && data[i] < data[ i + 1 ] ) { pos = i + 1; } nxt[i] = pos; } cout << dfs( 0, 0, 1, data, nxt, n ) << endl; } return ret; } [程式設計題] 飢餓的小易 小易總是感覺飢餓,所以作為章魚的小易經常出去尋找貝殼吃。最開始小易在一個初始位置x_0。對於小易所處的當前位置x,他只能通過神祕的力量移動到 4 * x + 3或者8 * x + 7。因為使用神祕力量要耗費太多體力,所以它只能使用神祕力量最多100,000次。貝殼總生長在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,014等)。小易需要你幫忙計算最少需要使用多少次神祕力量就能吃到貝殼。 輸入描述: 輸入一個初始位置x_0,範圍在11,000,000,006 輸出描述: 輸出小易最少需要使用神祕力量的次數,如果使用次數使用完還沒找到貝殼,則輸出-1 輸入例子: 125000000 輸出例子: 1 #include <iostream> #include <algorithm> #include <vector> #include <map> #include <queue> using namespace std; int main() { int ret = 0; unsigned long long x0 = 0; unsigned long long NUM0 = 1000000007; while( cin >> x0 ) { queue<unsigned long long > qu; map<unsigned long long , int > mp; qu.push(x0); mp[x0] = 0; unsigned long long num = qu.front(); while( !qu.empty() ) { num = qu.front(); qu.pop(); int cnt = mp[num]; if( 0 == num ) { //cout << cnt << endl; break; } if( cnt > 100000 ) { continue; } unsigned long long v1 = ( num * 4 + 3 ) % NUM0; if( mp.find(v1) == mp.end() ) { mp[v1] = cnt + 1; qu.push(v1); } unsigned long long v2 = ( num * 8 + 7 ) % NUM0; if( mp.find(v2) == mp.end() ) { mp[v2] = cnt + 1; qu.push(v2); } } printf("%d\n",mp[0] ? mp[0] : -1 ); } return ret; }

相關推薦

2017筆試題目

http://www.nowcoder.com/discuss/6959?type=3&order=0&pos=2&page=1 [程式設計題] 幸運的袋子 一個袋子裡面有n個球,每個球上面都有一個號碼(擁有相同號碼的球是無區別的)。如

分蘋果——2017筆試程式設計題

連結:https://www.nowcoder.com/questionTerminal/a174820de48147d489f64103af152709?source=relative來源:牛客網n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果

2017筆試1:分蘋果 [python]

''' [程式設計題] 分蘋果 時間限制:1秒 空間限制:32768K n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果, 使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能

分蘋果----2017筆試程式設計題合集(一)

[程式設計題] 分蘋果 n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從一隻奶牛身上拿走恰好兩個蘋果到另一個奶牛

2017筆試程式設計題合集(二)(第三題) 不要二

[程式設計題] 不要二 二貨小易有一個W*H的網格盒子,網格的行編號為0~H-1,網格的列編號為0~W-1。每個格子至多可以放一塊蛋糕,任意兩塊蛋糕的歐幾里得距離不能等於2。 對於兩個格子座標

2017筆試題

有 n 個學生站成一排,每個學生有一個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,你能返回最大的乘積嗎?  輸入描述: 每個輸入包含 1 個測試用例。每個測試資料的第一行包含一個整

2018筆試程式設計題

題目1 題目描述 小易覺得高數課太無聊了,決定睡覺。不過他對課上的一些內容挺感興趣,所以希望老師講到有趣的地方的時候叫醒他一下。你知道了小易對一堂課每分鐘知識點的感興趣程度,並以分數量化,以及他在這堂課上每分鐘是否會睡著,你可以叫醒他一次,這會使得他在接

2017 [程式設計題]小喜歡的數列

[程式設計題]小易喜歡的數列 熱度指數:1954時間限制:1秒空間限制:32768K 小易非常喜歡擁有以下性質的數列: 1、數列的長度為n 2、數列中的每個數都在1到k之間(包括1和k) 3、

2017網際網路筆試題-數字遊戲

原題如下: 小易邀請你玩一個數字遊戲,小易給你一系列的整數。你們倆使用這些整數玩遊戲。每次小易會任意說一個數字出來,然後你需要從這一系列數字中選取一部分出來讓它們的和等於小易所說的數字。 例如: 如果{2,1,2,7}是你有的一系列數,小易說的數字是11.你可

2017網際網路筆試題(獎學金問題)

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

2017春招筆試真題編程題集合——分餅幹

out color div nbsp -1 pre new har nco 參考:http://blog.csdn.net/wwe4023/article/details/70171648的內容 // import java.util.*; public class M

2017春招筆試真題編程題集合(10)——小易記單詞

bsp math 字符串 array 如果 new 是否 數據 作用 小易參與了一個記單詞的小遊戲。遊戲開始系統提供了m個不同的單詞,小易記憶一段時間之後需要在紙上寫出他記住的單詞。小易一共寫出了n個他能記住的單詞,如果小易寫出的單詞是在系統提供的,將獲得這個單詞長度的平方

2017春招筆試真題編程題集合(8)——奇怪的表達式求值

next ann new switch 運算 ase 自己 lin pri 常規的表達式求值,我們都會根據計算的優先級來計算。比如*/的優先級就高於+-。但是小易所生活的世界的表達式規則很簡單,從左往右依次計算即可,而且小易所在的世界沒有除法,意味著表達式中沒有/,只有(+

2017春招筆試真題編程題集合(7)——集合

復雜 bsp span 問題 args 一個 add port code 小易最近在數學課上學習到了集合的概念,集合有三個特征:1.確定性 2.互異性 3.無序性.小易的老師給了小易這樣一個集合:S = { p/q | w ≤ p ≤ x, y ≤ q ≤ z }需要根據給

2017提前提筆試編程題

完全 urn 支付 i+1 一行 判斷 需要 () math 1.彩色磚塊   小易有一些彩色的磚塊。每種顏色由一個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有一個給定的字符串s,s中每個字符代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不

2017春招筆試——集合

集合 題目 小易最近在數學課上學習到了集合的概念,集合有三個特徵:1.確定性 2.互異性 3.無序性. 小易的老師給了小易這樣一個集合: S = { p/q | w ≤ p ≤ x

2017春招筆試真題程式設計題集合題解

前言 想想已經有一年多沒有接觸演算法題了,忙活了一年多沒什麼用的東西,才陡然發現自己竟然就要畢業了,然而審視了下自己的水平估計還達不到大一的程度,甚是驚恐。於是下定決心開始刷一點題,打好基本功。正好有同學在做網易筆試題的時候來向我問問題,我看了看有12道,好像也不多,於是就順便刷了刷。本

2017春招筆試Java程式碼

一種雙核CPU的兩個核能夠同時的處理任務,現在有n個已知資料量的任務需要交給CPU處理,假設已知CPU的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入CPU進行處理,現在需要設計一個方案讓CPU處理完這批任務所需的時間最少

2017春招筆試真題編程題集合題解

平分 數組 如果 方案 順序 clu 不同 std 編程題 1、雙核處理 題目 一種雙核CPU的兩個核能夠同時的處理任務,現在有n個已知數據量的任務需要交給CPU處理,假設已知CPU的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入CPU進

2017筆試程式設計題——分田地

題目描述: 牛牛和 15 個朋友來玩打土豪分田地的遊戲,牛牛決定讓你來分田地,地主的田地可以看成是一個矩形,每個位置有一個價值。分割田地的方法是橫豎各切三刀,分成 16 份,作為領導幹部,牛牛總是會選擇其中總價值最小的一份田地, 作為牛牛最好的朋友,你希望牛牛取得的田地的價值和儘可能大,你知道這個值最大