聽說這個題原本記憶體限制1.5mb,太嚴格了。。逼著你去用歸併排序。我寫的時候沒有想到,直接暴力存陣列,然後從頭乙個乙個比較,直到(n+m)/2的位置結束。但思想還是歸併。
#include #include #include using namespace std;
int n,m;
long long *p,*q;
int main()
if(point2 >= m)
if(p[point1] <= q[point2])
else
}if(flag)
else
return 0;
}
這題有個坑,會出現其中乙個序列到頭的情況,所以要考慮到。
題目要求的long int範圍,我沒搞明白。。因為現在gcc編譯器下long int 和 int都是4位元組。。保險起見用了long long int。
(自用隨筆)PAT A1024
涉及大數運算,本人用的很笨的方法,當數字長度超過10時,分兩個char陣列將數字長度大於10的部分和小於10的部分分開存起來,然後轉成long long型大整數再運算。只過了前六個樣例,改不動了。不過收穫很多 include include include include include using...
(自用隨筆)PAT A1010
計算乙個數是否能通過某個進製轉換為另乙個數的問題。思路就是把輸入的資料轉化為全數字,再計算number大小。在計算第二個不知道進製的數時,從最低位開始計算,一旦數字超過了number1,就讓進製加一,重新計算,知道數字大小相等。網上比較高效的方法是二分法找進製,我用的笨方法,從2開始往上找。坑點就是...
(自用隨筆)PAT A1003 Emergency
include include define maxn 100000000 int n,m,c1,c2 int wei 505 int w 505 到點v的最大點權之和 int g 505 505 int num 505 到點v的最短路徑條數 int d 505 int vis 505 void d...