天勤論壇1000 1011解題筆記

2021-06-20 09:02:29 字數 1264 閱讀 2045

哎,一事無成的感覺,決定天勤論壇的題從頭刷起,然後再去看其他oj上的一些題,出來混遲早要還的,既然以前沒學,那自己就慢慢還吧。

初次接觸這個東西時,有時演算法搞出來了,但是輸入輸出總不對,一開始就沒有乙個好的人知道我,以至於在這裡打了退堂鼓,也是當時自己不夠堅定,及時找個人問問多好。

簡而言之,熟練掌握所有輸入輸出技巧,就是掌握所有acm問題的框架,因為一般來說掌握了輸入輸出問題的格式,是乙個acm問題最外層的框架。

(1)如果是單純的輸入兩組資料輸出結果

1 510 20630

那麼可以

while(cin>>a>>b)

這樣的框架用於沒組樣例中資料個數相同,但是不知道多少組資料,輸進去就要處理的問題

(2)如果已經指明要輸入多少組資料例如:

21 5

10 20630

那麼可以

int n;

while(n--)

//注意 此處是n--雖然本人大部分習慣喜歡--n的形式,而且在效果一樣的情況下,--n的效率更高。
而且事實告訴我,大部分情況下,while迴圈比for迴圈要更招人待見。

(3)如果是以0,0這樣的資料作為結束的,那麼同樣是在while迴圈裡控制邏輯更便宜。

while(cin>>a>>b && (a||b))

由此推之,所有邏輯在while迴圈裡體現即可

其餘的一直到1007問題都是用while迴圈體現出來的復合問題,因此不再贅餘。

1008題沒什麼好說,1009題主要要學會利用set()來處理格式

#include #include #define month 12

using namespace std;

int main()

cout<<"¥"}

1010題是一種新的輸入輸出型別,主要要回使用gets函式來處理控制這一類資料。**值得學習

#include #include #include #include using namespace std;

int main()

if((100*a[0]+10*a[1]+a[2])<(100*a[3]+10*a[4]+a[5]))

cout<<"second"<(100*a[3]+10*a[4]+a[5]))

cout<<"first"<

over。明天再刷幾道入門水題。

天勤OJ 題目1125 查詢

題目描述 輸入陣列長度 n 輸入陣列 a 1.n 輸入查詢個數m 輸入查詢數字b 1.m 輸出 yes or no 查詢有則yes 否則no 輸入輸入有多組資料。每組輸入n,然後輸入n個整數,再輸入m,然後再輸入m個整數 1 m n 100 輸出如果在n個陣列中輸出yes否則輸出no。樣例輸入 6 ...

排序演算法(天勤資料結構高分筆記)

排序演算法 直接插入排序演算法 每趟將乙個待排序的關鍵字按照其值的大小插入到已經排好的部分有序序列的適當位置上,直到所有待排關鍵字都被插入到有序序列中為止 void insertsort int r,int n 代拍關鍵字儲存在r中,預設為整形,個數為n r j 1 temp 找到插入位置,將tem...

天勤考研資料結構 單鏈表操作

定義單鏈表 typedef struct lnodelnode a b皆為有序鍊錶,合併排序到c中 頭插法 void merge lnode a,lnode b,lnode c else if q next null if p null if p next null if q null a b皆為有...