演算法練習(一)

2022-08-01 21:57:19 字數 1874 閱讀 9171

昨天是個值得紀念的日子,我數學建模拿了推薦國家一等獎的名額,希望最後能順利拿到國一吧。現在大三已經開學乙個月了。這乙個月因為社會實踐評優的事情真的很忙,還好最後拿到了可能拿到的所有的獎項。結果自己把科研助手這件事給耽誤了,今天去找馬老師,結果馬老師的實驗室人已經滿了。所以沒辦法,我可能又要去找其他老師了。

今年國家獎學金的名額裡面沒有我,沒有就算了吧。臥薪嘗膽,好好學習,這一學期至關重要。所以自己現在就要開始準備保研的機試,現在的訓練非常重要,無論如何,這是自己未來要走的一步路。我現在最重要的就是六級、學習、機試、科研,這四個缺一不可。加油加油!所以今天是c語言演算法的基礎部分:自頂向下的程式設計方法。

1.uva1339古老的密碼

#include #include

#include

#include

using

namespace

std;

int cnt1[26],cnt2[26

];char s1[110],s2[110

];int

main()}}

for(int i = 0;ii)}}

sort(cnt1,cnt1+26

); sort(cnt2,cnt2+26

);

bool eq = 1

;

for(int i = 0;i<26;++i)

}if(eq)

else

}return0;

}

2.uva489 hangman judge

#include#include

#define max 100

char

s1[max],s2[max];

bool win = 0,lose = 0

;int

left,chance;

void guess(char

c) }

if(!find)chance--;

if(!chance)lose = 1

;

else

if(!left)win = 1;}

intmain()

if(win)

else

if(lose)

else

}return0;

}

3.uva133 the dole queue

#include#include

intn,k,m;

//人本身是按照逆時針排序的

int go(int p,int d,int t,int

a)while(a[p]==1

); }

returnp;}

intmain()

if(left)printf(","

); }

printf("\n

");}

return0;

}

4.uva213 message decoding

#include#include

int code[8][1

<<8

];int

readchar()

}int readint(int

c)

returnv;}

intreadcodes()

}return1;

}int

main()

}printf("\n

");}

return0;

}

總結:以上每個小程式的**量都不超過50行,但都是非常經典的小程式,採用自頂向下的程式設計方法,使得程式的邏輯非常清晰。

演算法練習(一)

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子1 abcda go...

js練習排序演算法(一)

複習了一下資料結構的排序演算法,一年之前學的東西,現在拿來練習時,感慨挺多的。寫在前面的話 可能馬上就要面試了,我還是有點慌的,今天看了資料結構的排序,並嘗試著用js來寫了一下,雖然沒有什麼實際的意義,但還是有點個人的理解和感悟和大家分享 有人說程式設計的世界就是資料結構和演算法,我覺得並不是。更確...

基本演算法題練習一

由於被很多公司的筆試程式設計題虐了,才想著要做做演算法題了。自己的基礎看來太薄弱了些。因此決定先從賽碼網的基本演算法題開始做起。這裡想記錄一下賽碼網裡面題的情況。由於基礎薄弱,就先從兩星的題開始做起。每日兩道。這道題看起來比較簡單,我們可以從第一級樓梯開始分析。當樓梯只有一級時,有0種走法 當有2級...