2023年北郵複試上機題目
2008.problem a.人數統計
description
今年計算機學院研究生入學複試分多個小組。現在老師需要知道每組複試同學中男生和女生的人數。請你編寫程式分別統計出男女生的總人數。
input
輸入的第一行是乙個數t(0 < t < 10),表示有t組測試用例。
對於每組輸入資料有兩行,第一行是乙個正整數n(1 < n < 1000),表示參加該組複試的總人數。接下來一行有n個整數(取值為0或1),0代表男生,1代表女生,整數間由乙個空格隔開。
output
對於每組測試用例,輸出一行,由兩個數組成,用乙個空格隔開,分別表示男生和女生的總人數。
sample input22
1 07
0 1 0 0 1 1 0
sample output
1 14 3
#include using namespace std;
int main()
cout << male << " " << female << endl;
}return 0;
}
2008.problem b.數字統計
description
給你乙個非常大的整數x,(-10^400 <=x<= 10^400),請統計x的每一位,分別輸出9,1,2出現的次數.
input
乙個大整數;
output
一共三行,第一行是9出現的次數,第二行是1出現的次數,第三行是2出現的次數。
sample input
912912912910915902
sample output65
4
#include using namespace std;
int main()
; string str;
cin >> str;
if( str[0] == '-')
str.erase(0, 1);
int len = str.size();
for( int i = 0; i < len; i++ )
cout << cnt[9] << endl;
cout << cnt[1] << endl;
cout << cnt[2] << endl;
return 0;
}
2008.problem c.統計字母
description
給定乙個只有小寫英文本母組成的字串,串長為n。請你編寫程式求出這個字串**現次數最多的字母。
input
輸入的第一行為t(0 < t < 10),表示有t組測試用例。
對於每組測試用例,輸入有兩行。
第一行是乙個正整數n( 1 < n < 100)表示字串的長度。
後面一行是乙個長度為n的字串(只由小寫字母組成)。
output
對於每組測試用例,輸出一行,僅輸出出現次數最多的字母。
測試用例保證出現次數最多的字母只有乙個。
sample input25
acmcs
3zzt
sample outputcz
#include #include using namespace std;
int main()
; cin >> n;
string str;
cin >> str;
for( int i = 0; i < n; i++ )
cnt[ str[i] - 'a' ]++;
maxalpha = 0;
maxcnt = 0;
for( int i = 0; i < 26; i++ )
}cout << (char)( maxalpha +'a' ) << endl;
}return 0;
}
2008.problem d.二叉樹前序遍歷
description
給定一棵有n個結點的二叉樹,結點的編號為0~n-1。請你編寫程式輸出二叉樹的前序遍歷序列。
input
輸入的第一行是乙個正整數t(1 < t < 20),表示有t組測試用例。
對於每組測試用例,第一行是乙個整數n(0 < n < 20),表示二叉樹結點個數。第二行是乙個數r(0≤r≤n-1),二叉樹根結點的編號。
後面有n-1行,表示二叉樹n-1條邊的資訊。每行三個數a,b,c,三個數間由空格隔開,其中0≤a,b≤n-1且a≠b, c為0或1。a表示邊的起點,b表示邊的終點。如果c為0,表示b是a的左兒子;如果c為1,表示b是a的右兒子。
output
對於每組測試用例輸出一行,即:該二叉樹的前序遍歷序列,兩個節點編號之間留乙個空格。
sample input23
22 0 0
2 1 170
0 1 0
0 2 1
1 3 0
1 4 1
2 5 0
2 6 1
sample output
2 0 1
0 1 3 4 2 5 6
hint
由於是計算機自動判題,請嚴格按照題目的描述輸入輸出,不要有任何多餘的字元出現,尤其是輸出行的行首和行尾都不要有多餘的空格
#include #include using namespace std;
const int maxn = 100;
typedef struct node
void initnode()
};node tree[maxn];
int n;
void inittree()
void createtree()
}bool firstcase = true;
void preorder( int root )
int main()
preorder( root );
cout << endl;
}return 0;
}
2008.problem e.科學計算器
description
給你乙個不帶括號的表示式,這個表示式只包含加、減、乘、除,請求出這個表示式的最後結果,最後結果一定是整數;
input
乙個數學表示式,只包括數字,數字保證是非負整數,以及五種運算子"+","-","*","/","=";數字和運算子之間有乙個或者多個空格,運算子的總數不會超過100,最後以"=「號結尾,表示表示式結束。注意:使用c的同學,在讀取字串的時候請使用scanf(」%s",…);以免不必要的錯誤。
output
整數;sample input
1 + 2 + 3 * 6 / 9 =
sample output
5
#include #include #include #include using namespace std;
bool cmp( string op1, string op2 )
int cal(int n1, int n2, string op )
int main()}}
return 0;
}
2008.problem f.尋找第k小的數
description
給你n個完全不相同整數(n<=300),每乙個數都大於0並且小於1000,請找出第k小的數。
input
輸入包括兩行,第一行用空格隔開的兩個數 n和k;第二行有n個不行同的數;
output
輸出第k小的數字;
sample input
5 33 2 5 4 1
sample output
3
#include #include using namespace std;
const int maxn = 1000;
int num[maxn];
int main()
num[low] = pivot;
if( low < k )
else if( low > k )
else
cout << num[low] << endl;
}return 0;
}
2023年北郵網研院複試上機題目
2018.網研院.problem a.商品總價 題目描述 類似超市結賬,計算購買的商品的總 輸入 第一行為測試資料組數t 0輸出 每一行輸出相對應資料的總價值,保留兩位小數。樣例輸入 2 21.00 樣例輸入 樣例輸出 3.00 100.00 include using namespace std ...
2023年北郵網研院複試上機題目
今年網研上機白送,菜雞如我,未能4a。還是轉一下題目,完善一下部落格。因為 在考場上a過了,這裡就不貼 了。2019.網研院.problem a.牙膏問題 題目描述 4只牙膏比較 返回最便宜的牙膏 輸入 第一行輸入t,表示資料的組數 第二行輸入a b c d 表示4只牙膏的 輸出 返回最低 樣例輸入...
2010北郵複試網研上機題
轉眼間,研究生已經過去半年了,從當初的電腦小白到如今也能熟練的操作linux系統,心裡感慨也是很多的。當初耿耿於懷的是北郵複試的時候c基礎太差,導致上機題一道也沒做出來,雖然這半年我主要學習的是運維,但是也對php和c有了一定的了解,今天下午把北郵2010的上機題又做了一下,貼出 和大家共享,其實態...