




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、王道()友情!予人玫瑰 手留余香!2010 北郵網(wǎng)研院復(fù)試上機(jī)題目:第一題:查找 輸入數(shù)組長(zhǎng)度 n輸入數(shù)組a1.n輸入查找個(gè)數(shù)m輸入查找數(shù)字b1.m輸出 YES or NO 查找有則 YES否則 NO如(括號(hào)內(nèi)容為注釋) 輸入:5(數(shù)組長(zhǎng)度)1 5 2 4 3(數(shù)組)3(查找個(gè)數(shù))2 5 6(查找具體數(shù)字)輸出: YES YESNO#include <stdio.h>#include <stdlib.h>int main()int n,m,i,j,a2001=0,b2001=0,flag=0; scanf("%d",&n);for(i=0;i
2、<n;i+) scanf("%d",&ai);scanf("%d",&m); for(i=0;i<m;i+) scanf("%d",&bi); for(i=0;i<m;i+)for(j=0;j<n;j+)if(bi=aj)flag=1; printf("YESn"); break;王道王道()友情!予人玫瑰手留余香!if(flag!=1) printf("NOn"); flag=0;/ / system("PAUSE"); re
3、turn 0;第二題:查找第K 小數(shù)查找一個(gè)數(shù)組的第K 小的數(shù),注意同樣大小算一樣大如 2 1 3 4 5 2 第三小數(shù)為 3如(括號(hào)內(nèi)容為注釋) 輸入:6(數(shù)組長(zhǎng)度 n)2 1 3 5 2 2(數(shù)組)3(K 即為第三小數(shù))輸出:3Code#include <stdio.h> #include <stdlib.h>int main(int argc, char *argv)int n,k,i,j,a1001,temp,m=1;scanf("%d %d",&n,&k); for(i=0;i<n;i+) scanf("%d
4、",&ai);for(i=0;i<n-1;i+) for(j=0;j<n-i-1;j+)if(aj>aj+1)temp=aj; aj=aj+1; aj+1=temp;for(i=0;i<n-1;i+)if(ai=ai+1)&&(i<k)王道王道()友情!予人玫瑰 手留余香!k+;printf("%dn",ak-1);/ system("PAUSE");return 0;·第三題:牌只有 1 到 9,手里拿著已經(jīng)排好序的牌 a,對(duì)方出牌 b,用程序夠壓過對(duì)方出牌規(guī)則:出牌牌型有 5
5、種手中牌是否能1 一張2 兩張3 三張4 四張5 五張如 4 則 5.9 可壓過如 44 則 55,66,77,.,99 可壓過如 444 規(guī)則如2如 4444 規(guī)則如2牌型只有 12345 23456 34567 45678 56789 五個(gè),后面的比前面的均大壓過輸出YES 否則NO如(括號(hào)內(nèi)容為注釋) 輸入:12233445566677(手中牌)33(出牌)輸出:YESProblem Id: 1820Submit time: 2010-04-25 20:28:36 User_id: jyjyjy1989Memory:204KTime:19MSLanguage:G+ Result:Acce
6、pted··Code#include <iostream> #include<string.h>using namespace std;····int main(void)王道王道()友情!予人玫瑰手留余香!·························
7、3;··char str1100,str25; scanf("%s",str1);char ch;ch=getchar(); scanf("%s",str2);int i=0;int count10=0; while(str1i!='n')if(str1i-'1')=0) count0+;else else else else else else else else else i+;if(str1i-'1')=1)if(str1i-'1')=2)if(str1i-'
8、;1')=3)if(str1i-'1')=4)count1+; count2+; count3+;count4+;if (str1i-'1')=5)count5+;if(str1i-'1')=6)if(str1i-'1')=7)if(str1i-'1')=8) break;count6+;count7+; count8+;ints1,s2,s3,s4,s5;int flag=1;if(strlen(str2)=1)s1=*str2-'1'for(;s1<9;s1+) if(counts
9、1+1>0)printf("YESn",s1);flag=0;break;else if(strlen(str2)=2) s2=*str2-'1'>=2) printf("YESn",s2);flag=0;break; else if(strlen(str2)=3) s3=*str2-'1'>=3) printf("YESn");flag=0;break; else if(strlen(str2)=4) s4=*str2-'1'>=4) printf("
10、YESn");flag=0;break; for(;s2<9;s2+)if(counts2+1·for(;s3<9;s3+)if(counts3+1·for(;s4<9;s4+)if(counts4+1·else if(strlen(str2)=5)s5=*str2-'1' for(;s5<9;s5+) if(counts5+5>0&&counts5+1>0&&counts5+2>0&&counts5+3>0&&counts5+
11、4>0&&(s5+5)< 9) printf("YESn");flag=0;break;if(flag=1) printf("NOn");/ system("PAUSE"); return EXIT_SUCCESS;····第四題:樹 查找簡(jiǎn)單說就是一棵樹,輸出某一深度的所有節(jié)點(diǎn),有則輸出這些節(jié)點(diǎn),無則輸出 EMPTY,具王道王道()友情!予人玫瑰 手留余香!體描述得借助圖形比較好,懶得寫了,基本就是這個(gè)樣子的。2010 北郵計(jì)算機(jī)學(xué)院上機(jī)題目回憶版題目大意(回憶版)
12、:第一行輸入一個(gè)數(shù),為 n,第二行輸入 n 個(gè)數(shù),這 n 個(gè)數(shù)中,如果偶數(shù)比奇數(shù)多,輸出 NO,否則輸出 YES。Sample:Input:51 2 3 4 5Output:YESProblem Id: 1814Submit time: 2010-04-10 14:06:48 User_id: bupt111310352 Memory:72KTime:17MS Language:G+Result:AcceptedCode*/#include <stdio.h>int main()/ 所有數(shù)的數(shù)目int m_Num_Count; scanf("%d", &
13、m_Num_Count);/ 輸入數(shù)int m_Input_Num;/ 偶數(shù) 奇數(shù)的個(gè)數(shù)int m_Oushu_Count = 0, m_Jishu_Count = 0;/ 循環(huán)輸入王道王道()友情!予人玫瑰手留余香!while(m_Num_Count > 0)scanf("%d", &m_Input_Num); getchar();/奇偶并計(jì)數(shù)if( (m_Input_Num % 2) = 0 )+ m_Oushu_Count;else+ m_Jishu_Count;- m_Num_Count;/ 輸出if(m_Jishu_Count >= m_Ous
14、hu_Count) printf("YESn");elseprintf("NOn");return 0;/*題目大意(回憶版):第一行輸入一個(gè)數(shù) n,1 <= n <= 1000,下面輸入n 行數(shù)據(jù),每一行有兩個(gè)數(shù),分別是 x y。輸出一組 x y,該組數(shù)據(jù)是所有數(shù)據(jù)中 x 最小,且在x 相等的情況下 y 最小的。Sample:Input: 53 32 25 52 13 6Output:2 1Problem Id: 1815Submit time: 2010-04-10 14:24:39 User_id: bupt111310352王道王道(
15、)友情!予人玫瑰手留余香!Memory:104KLanguage:G+Time:19MSResult:AcceptedCode*/#include <stdio.h>typedef struct LNodeint m_X; int m_Y;bool m_Used;/ x 坐標(biāo)值/ y 坐標(biāo)值/ 該位是否被使用;int main()/ 樣例個(gè)數(shù)int m_Case_Count;scanf( "%d", &m_Case_Count );/ 因?yàn)?1 <= N <= 1000,建結(jié)點(diǎn)LNode m_Case 1000 ;/ 循環(huán)數(shù)int m_Cyc
16、le;/ 最小的 x, y 值,并初始化,1 <= x,y <= 1000 int m_X_Min = 1000, m_Y_Min = 1000;/ 初始化結(jié)點(diǎn)被使用狀態(tài)for( m_Cycle = 0; m_Cycle < 1000; + m_Cycle ) m_Case m_Cycle .m_Used = false;/ 初始化循環(huán)數(shù),下面使用m_Cycle = 0;/ 循環(huán)輸入樣例while( m_Case_Count > 0 )/ 輸入坐標(biāo)值scanf( "%d %d", &m_Case m_Cycle .m_X, &m_Ca
17、se m_Cycle .m_Y );/ 置狀態(tài)值,并且 m_Cycle +王道王道()友情!予人玫瑰 手留余香!m_Case m_Cycle + .m_Used = true;-m_Case_Count;/ 循環(huán)找最小的x,y 值for( m_Cycle = 0; ( m_Cycle < 1000 ) && ( m_Case m_Cycle .m_Used ) ; + m_Cycle )if( m_Case m_Cycle .m_X< m_X_Min )/ 如果找到更小的 x 值, m_X_Min = m_Case m_Cycle .m_X; m_Y_Min = m
18、_Case m_Cycle .m_Y;else if ( m_Case m_Cycle .m_X= m_X_Min )/ 如果 x 值相等y 值, 如果在相等的 x 值的條件下,找到更小的的 y 值,yif( m_Case m_Cycle .m_Y< m_Y_Min )m_Y_Min = m_Case m_Cycle .m_Y;/ 輸出找到的最小值printf("%d %dn", m_X_Min, m_Y_Min );return 0;/*題目大意(回憶版):該題是要翻轉(zhuǎn)數(shù)據(jù)。首先輸入一個(gè) 5 * 5 的數(shù)組,然后輸入一行,這一行有四個(gè)數(shù),前兩個(gè)代表操作類型,后兩個(gè)數(shù)
19、 x y 代表需操作數(shù)據(jù)為以 x y 為左上角的個(gè)數(shù)據(jù)。操作類型有四種:1 21 32 22 3表示:90 度,順時(shí)針,翻轉(zhuǎn) 4 個(gè)數(shù)表示:90 度,順時(shí)針,翻轉(zhuǎn) 9 個(gè)數(shù)表示:90 度,逆時(shí)針,翻轉(zhuǎn) 4 個(gè)數(shù)表示:90 度,逆時(shí)針,翻轉(zhuǎn) 9 個(gè)數(shù)Sample:王道王道()友情!予人玫瑰手留余香!Input:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 251 3 1 1Output:11 6 1 4 512 7 2 9 1013 8 3 14 1516 17 18 19 2021 22 23 24 25Problem I
20、d: 1816Submit time: 2010-04-10 15:06:04 User_id: bupt111310352 Memory:88KTime:14MS Language:G+Result:Accepted解題思路:- -。細(xì)心點(diǎn)就行。Code*/#include <stdio.h>int main()/ 輸入數(shù)據(jù)int m_Case 5 5 ;scanf( "%d %d %d %d %d", &m_Case 0 0 , &m_Case 0 1 , &m_Case 0 2 , &m_Case 0 3 , &m_
21、Case 0 4 );scanf( "%d %d %d %d %d", &m_Case 1 0 , &m_Case 1 1 , &m_Case 1 2 , &m_Case 1 3 , &m_Case 1 4 );scanf( "%d %d %d %d %d", &m_Case 2 0 , &m_Case 2 1 , &m_Case 2 2 , &m_Case 2 3 , &m_Case 2 4 );scanf( "%d %d %d %d %d", &
22、;m_Case 3 0 , &m_Case 3 1 , &m_Case 3 2 , &m_Case 3 3 , &m_Case 3 4 );scanf( "%d %d %d %d %d", &m_Case 4 0 , &m_Case 4 1 , &m_Case 4 2 ,&m_Case 4 3 , &m_Case 4 4 );/ 輸入操作王道王道()友情!予人玫瑰 手留余香!int m_Op_First, m_Op_Second, m_X, m_Y;scanf( "%d %d %d %d&qu
23、ot;, &m_Op_First, &m_Op_Second, &m_X, &m_Y );/ 臨時(shí)數(shù)據(jù)int m_Temp_First, m_Temp_Second;if( ( m_Op_First = 1 ) && ( m_Op_Second = 2 ) )/ 如果是 1 2, 翻轉(zhuǎn) 4 個(gè)數(shù),90 度,順時(shí)針m_Temp_First = m_Case m_X - 1 m_Y - 1 ;m_Case m_X - 1 m_Y - 1 = m_Case m_X m_Y - 1 ; m_Case m_X m_Y - 1 = m_Case m_X m_
24、Y ; m_Case m_X m_Y = m_Case m_X - 1 m_Y ; m_Case m_X - 1 m_Y = m_Temp_First;else if( ( m_Op_First = 1 ) && ( m_Op_Second = 3 ) )/ 如果是 1 3,翻轉(zhuǎn) 9 個(gè)數(shù),90 度,順時(shí)針m_Temp_First = m_Case m_X - 1 m_Y - 1 ; / 00m_Temp_Second = m_Case m_X m_Y - 1 ;/ 10m_Case m_X - 1 m_Y - 1 = m_Case m_X + 1 m_Y - 1 ; / 00
25、 = 20m_Case m_X m_Y - 1 = m_Case m_X + 1 m_Y ; m_Case m_X + 1 m_Y - 1 = m_Case m_X + 1 m_Y + 1 ; m_Case m_X + 1 m_Y = m_Case m_X m_Y + 1 ; m_Case m_X + 1 m_Y + 1 = m_Case m_X - 1 m_Y + 1 ; m_Case m_X m_Y + 1 = m_Case m_X - 1 m_Y ; m_Case m_X - 1 m_Y + 1 = m_Temp_First;m_Case m_X - 1 m_Y = m_Temp_Sec
26、ond;/ 10 = 21/ 20 = 22/ 21 = 12/ 22 = 02/ 12 = 01/ 02 = 00/ 01 = 10else if( ( m_Op_First = 2 ) && ( m_Op_Second = 2 ) )/ 如果是 2 2, 翻轉(zhuǎn) 4 個(gè)數(shù),90 度,逆時(shí)針m_Temp_First = m_Case m_X - 1 m_Y - 1 ;m_Case m_X - 1 m_Y - 1 = m_Case m_X - 1 m_Y ; m_Case m_X - 1 m_Y = m_Case m_X m_Y ; m_Case m_X m_Y = m_Case
27、 m_X m_Y - 1 ; m_Case m_X m_Y - 1 = m_Temp_First;else if( ( m_Op_First = 2 ) && ( m_Op_Second = 3 ) )/ / 如果是 2 3,翻轉(zhuǎn) 9 個(gè)數(shù),90 度,逆時(shí)針m_Temp_First = m_Case m_X - 1 m_Y - 1 ; m_Temp_Second = m_Case m_X - 1 m_Y ;/ 00/ 01m_Case m_X - 1 m_Y - 1 = m_Case m_X - 1 m_Y + 1 ; / 00 = 02王道王道()友情!予人玫瑰 手留余香!m
28、_Case m_X - 1 m_Y = m_Case m_X m_Y + 1 ;/ 01 = 12m_Case m_X - 1 m_Y + 1 = m_Case m_X + 1 m_Y + 1 ; / 02 = 22m_Case m_X m_Y + 1 = m_Case m_X + 1 m_Y ;/ 12 = 21m_Case m_X + 1 m_Y + 1 = m_Case m_X + 1 m_Y - 1 ; / 22 = 20m_Case m_X + 1 m_Y = m_Case m_X m_Y - 1 ; m_Case m_X + 1 m_Y - 1 = m_Temp_First;m_C
29、ase m_X m_Y - 1 = m_Temp_Second;/ 21 = 10/ 20 = 00/ 10 = 01/ 輸出printf( "%d %d %d %d %dn", m_Case 0 0 , m_Case 0 m_Case 0 3 , m_Case 0 4 );1 , m_Case 0 2 ,printf( "%d %d %d %d %dn", m_Case 1 0 , m_Case 1 1 , m_Case 1 2 , m_Case 1 3 , m_Case 1 4 );printf( "%d %d %d %d %dn"
30、;, m_Case 2 0 , m_Case 2 1 , m_Case 2 2 , m_Case 2 3 , m_Case 2 4 );printf( "%d %d %d %d %dn", m_Case 3 0 , m_Case 3 1 , m_Case 3 2 , m_Case 3 3 , m_Case 3 4 );printf( "%d %d %d %d %dn", m_Case 4 0 , m_Case 4 1 , m_Case 4 2 ,m_Case 4 3 , m_Case 4 4 );return 0;/*/ 我最糾結(jié)的題。前 3 個(gè)題一個(gè)小
31、時(shí)。這個(gè)題一個(gè)小時(shí)都沒有弄完。我實(shí)在是很郁悶啊。當(dāng)時(shí)真感覺想法太多了。還不如好好分析分析。這個(gè)題主要是要設(shè) parent 指針。如果這題還需要輸出編碼的話,則需要同時(shí)設(shè) rchild 與 lchild 指針。太糾結(jié)了這道題。這都沒做出來,強(qiáng)烈bs?;丶遗藭?huì)就弄出來了。樹,第一行輸入一個(gè)數(shù) n,表示葉結(jié)點(diǎn)的個(gè)數(shù)。需要用這些葉題目大意(回憶版):結(jié)點(diǎn)生成結(jié)點(diǎn)的值與樹,根據(jù)的乘積之和。樹的概念,這些結(jié)點(diǎn)值,即 weight,題目需要輸出所有Sample:Input:51 2 2 5 9Output:37樹,結(jié)點(diǎn) 1 的為 4,結(jié)點(diǎn) 2 的為 4,結(jié)點(diǎn) 2 的為 3,解釋:即生成如下圖王道王道()友
32、情!予人玫瑰手留余香!結(jié)點(diǎn) 5 的為 2,結(jié)點(diǎn) 9 的為 1,和為 37Problem Id: 1817Submit time: 2010-04-14 10:49:17 User_id: bupt111310352 Memory:96KTime:16MS Language:G+Result:AcceptedCode*/#include <stdio.h>/ 結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)typedef struct HNodeunsigned int weight; unsigned int parent;/ 父結(jié)點(diǎn)/在 m_Node 的 0 到 m_Cycle 之間尋找 parent并在數(shù)組最后
33、存放這兩個(gè)結(jié)點(diǎn)形成的父結(jié)點(diǎn)指針為 0且最小的兩個(gè)結(jié)點(diǎn)void Select( HNode* m_Node, int m_Cycle )/ 循環(huán)數(shù)int temp;/下最小的兩個(gè)數(shù)的位置int m_FirstMin_Pos = -1, m_SecondMin_Pos = -1;/ 最小的兩個(gè)數(shù),初始賦值為題目所給最大值加 1 int m_FirstMin = 1001, m_SecondMin = 1001;for( temp = 0; temp <= m_Cycle ; + temp )if ( m_Node temp .parent = 0 )/如果結(jié)點(diǎn)則 FirstMinm_Firs
34、tMin 還小,將值傳遞給 m_Node_SecondMin, FirstMin 結(jié)點(diǎn)指向查出的最小值結(jié)點(diǎn)/該結(jié)點(diǎn)位置if( m_Node temp .weight < m_FirstMin )m_SecondMin = m_FirstMin;王道王道()友情!予人玫瑰 手留余香!m_SecondMin_Pos = m_FirstMin_Pos; m_FirstMin = m_Node temp .weight;m_FirstMin_Pos = temp;else/ 如果 點(diǎn)FirstMin 大,但比 m_Node_SecondMin 小,/ 則 m_Node_SecondMin 指向
35、查出的最小值結(jié)點(diǎn),并if( m_Node temp .weight < m_SecondMin )m_SecondMin = m_Node temp .weight; m_SecondMin_Pos = temp;位置/ 在 m_Cycle + 1 的位置為最小的兩個(gè)結(jié)點(diǎn)的和生成的結(jié)點(diǎn)m_Node + m_Cycle .weight = m_FirstMin + m_SecondMin;/ 兩個(gè)最小值結(jié)點(diǎn)的 parent 賦值m_Node m_FirstMin_Pos .parent = m_Cycle; m_Node m_SecondMin_Pos .parent = m_Cycle;int main()/ 葉結(jié)點(diǎn)的數(shù)目int m_Num_Count, m_Num_Count_Temp = 0; scanf( "%d", &m_Num_Count );/ 最后形成的樹總結(jié)點(diǎn)個(gè)數(shù),結(jié)點(diǎn)個(gè)數(shù)* 2 - 1int m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司數(shù)字化活動(dòng)方案
- 公司羽毛球團(tuán)建活動(dòng)方案
- 公司秋季出游活動(dòng)方案
- 公司粽子節(jié)活動(dòng)方案
- 公司新人見面會(huì)策劃方案
- 公司畢業(yè)晚會(huì)活動(dòng)方案
- 公司聚會(huì)團(tuán)建策劃方案
- 公司比學(xué)趕幫超活動(dòng)方案
- 公司端午慰問活動(dòng)方案
- 公司消除浪費(fèi)活動(dòng)方案
- 體外診斷試劑盒線性范圍研究線性區(qū)間評(píng)價(jià)資料及可報(bào)告區(qū)間建立
- AQ 1097-2014 井工煤礦安全設(shè)施設(shè)計(jì)編制導(dǎo)則(正式版)
- 甲乙方施工合同范本
- 嬰幼兒配方乳粉市場(chǎng)銷售管理規(guī)范
- 小班語言《誰的救生圈》課件
- 海思芯片PC-測(cè)試技術(shù)規(guī)范
- 內(nèi)陸?zhàn)B殖與水生植物種植
- 集體協(xié)商培訓(xùn)課件
- Unit 3 What would you like A Let's learn(教學(xué)設(shè)計(jì))人教PEP版英語五年級(jí)上冊(cè)
- 物業(yè)社區(qū)團(tuán)購方案
- 仙家送錢表文-文字打印版
評(píng)論
0/150
提交評(píng)論