340 - master-mind hints
//1.快排的使用
10420 - list of conquests
快排int my_compare(const void*a, const void *b)
qsort(&lover[1], country_number, sizeof(lover[1]), my_compare);
10474 - where is the marble?
//1.二分法查詢
int mstart=0,mend=n-1;
int middle=0;
while(mstart <= mend)
152 - tree''s a crowd
//避免開方
for (int j=1; j<=10; ++j)
}//模擬氣泡排序,記錄冒泡次數
氣泡排序演算法的運作如下:
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
120 - stacks of flapjacks
//1.解決思想:
先找到最大的,然後最大和0對調,然後0和末尾對調
//2.快速解法:動態規劃
程式設計之美:一摞餅
156 - ananagrams
//1.需要考慮所有可能的輸入情況
當用getchar()時,每乙個字元都需要考慮
尤其當 獲取乙個單詞時, '\0'是必須要新增的
(可能'#'在最後乙個單詞最後, e.g abc#,此時需要將末尾'\0'加上!!)
//2.結構體的快排
400 - unix ls
//1. 字串格式的處理
//2. 注意是否越界
int i=myrow + rows*mycol;
if (i>=n)
void clear()
};//2.快排
快排的比較函式可以很方便的將多種比較規則融合其中
從小到大 a-b
從大到小 b-a
//3.注意題目細節
大小寫wa了一次
//4.內建函式
a = string(s,3,n);//將string從3開始複製n個字元
#include
int a=atoi('25');
755 - 487--3279
//1.小結
各種基本的操作, 讀取字元,拆分,合成,利用string,比利用char陣列來的安全些,起碼不用關心作死的'\0',@.@
這一題裡還是利用了中的 qsort, 也就是c語言中的函式,以後再嘗試使用 中的工具吧。
做的對映還是很好用的
10785 - the mad numerologist
//1.思路
將母音與子音分別存放在兩個陣列中,
然後分別排序
最後合併輸出
解題報告 ch1 大數問題
424 integer inquiry 1.大數加法 兩個數a,b相加,需要記錄進製g,result的每一位 等於 a與b對應位相加再加上g 10106 product 1.大數乘法 a,b相乘 result 的位數 等於 a.len b.len 最後去除字首0 result.s i j a.s i...
hdu 1106 排序 解題報告
這個題目一開始以為是水題,就想著用來輕鬆輕鬆,誰知道改得我想吐!除了discuss 中的資料外,還加上這兩組,一般就能過了 001568970056 5551235555789 1 include 2 include 3 include 4 using namespace std 56 const ...
資料結構與演算法9 排序1
void x sort elementtype a,int n x表示排序方法的名字 a是輸入的陣列 n是元素個數從上到下,相鄰兩個元素根據大小關係交換位置,第一次排序後最大的數會落到最底層,然後對於n 1個數繼續重複上述過程 void bubble sort elementtype a,int n...