首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

九度 OJ 西北工業大學 2011 機試題目全解:四道經典題目詳解

     編輯:C++ 入門

九度 OJ 西北工業大學 2011 機試題目全解

題目一:楊輝三角形 (Jobdu 1073)

輸入 n,輸出前 n 行楊輝三角。遞推法 a[i][j] = a[i-1][j] + a[i-1][j-1],邊界為 1。
關鍵:題目要求遞歸但遞歸超時,實際用遞推 O(n²) 預計算全表再輸出。

題目二:調整方陣 (Jobdu 1470)

N≤10 階方陣。第 i 步:在第 i 列從第 i 行到末尾找最大值所在行,與第 i 行交換。
關鍵:雙重迴圈模擬,注意索引 1-based,交換整行。

題目三:合併字串 (Jobdu 1471)

兩等長字串 S1, S2,交替取 S1[0], S2[last], S1[1], S2[last-1]... 組成新串。
關鍵:雙指針 i=0, j=len-1,旗標 ok 交替取字元,支援不等長擴展。

題目四:多項式相加 (Jobdu 1472)

兩多項式以 (係數, 指數) 對表示,指數可負。輸出合併後非零項,降序。
關鍵:陣列 a[1001] 存非負指數,b[1001] 存負指數(索引取絕對值),合併後掃描輸出。

完整代碼結構

// 統一主函數框架
int main() {
    // 題目一:預計算楊輝三角表 a[100][100],讀 n 輸出前 n 行
    // 題目二:讀 n,讀矩陣,模擬選列最大換行
    // 題目三:while(cin>>s1>>s2) 雙指針交替合併
    // 題目四:while(cin>>n) 讀兩多項式陣列合併輸出
}

每題獨立,輸入格式略異,實際提交時需針對單題調整 I/O。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved