原创 PAT甲級 1020 Tree Traversals (25分)

一道建樹的標準題,先把遞歸把樹建起來,再用隊列輸出。一開始自己也忘得差不多了,也是學習了別人的代碼,要好好鞏固鞏固纔行。。。 #include<bits/stdc++.h> using namespace std; int pos

原创 PAT甲級 1029 Median (25分)

排序,別看題目是2個序列,開一個足夠大的數組,把數字放進去,再用sort排一下,取中位數,就解決了! #include<bits/stdc++.h> using namespace std; int a[400000]; main

原创 PAT甲級 1023 Have Fun with Numbers (20分)

昨天剛學的字符串的reverse,沒想到今天就用上了,先將輸入的字符進行字數統計,然後X2,再進行一次字符統計,相同yes,反之no。 #include<bits/stdc++.h> using namespace std; ma

原创 PAT甲級 1042 Shuffling Machine (20分)

模擬洗牌,一個數組拿來存儲洗牌前,一個拿來存儲洗牌後,完成洗牌後,要更新上一次洗牌的數組,方便下一次洗牌。dev裏面不能用to_string要用itoa,pta裏又不能用itoa,要用to_string,這個事就很麻煩了。 #in

原创 PAT甲級 1040 Longest Symmetric String (25分)

分類討論,可能出現AA這樣的迴文類型,也可能是ABA這樣的。 #include<bits/stdc++.h> using namespace std; string s; int AA(int begin) { int max

原创 PAT甲級 1041 Be Unique (20分)

輸入的時候統計次數,再遍歷一回,將第一個只出現一次的輸出。 #include<bits/stdc++.h> using namespace std; int a[100000] = {0}; main() { int n; s

原创 PAT甲級 1019 General Palindromic Number (20分)

簡單的一題,轉換爲相對應的進制後,判斷是否迴文,我這裏用數組儲存值,防止進制轉換後溢出。 #include<bits/stdc++.h> using namespace std; main() { int n,jinzhi;

原创 PAT甲級 1032 Sharing (25分)

分析一下題意,有兩個鏈表,將最早出現的公共節點輸出。 這裏選擇用數組存儲鏈表,下標表示節點,值表示next。 先對第一個鏈表進行遍歷,出現過的進行標記,然後對第二個鏈表遍歷,遇到之前訪問過的則輸出,如果沒有,則輸出“-1” #in

原创 PAT甲級 1039 Course List for Student (25分)又簡潔又方便理解的代碼!

用map嵌套vector,將學生信息與選課信息存入,然後再輸出的時候再進行一次排序,升序輸出就可以。代碼很短,也沒什麼難點。 #include<bits/stdc++.h> using namespace std; map<str

原创 PAT甲級 1046 Shortest Distance (20分) 想成一個圈

想象是一個圈,那麼距離無非就是順時針計算權值還是逆時針計算權值的問題,順時針+逆時針的總和是權值的總和,這樣子理解的話這道題應該就不是問題了。 #include<bits/stdc++.h> main() { int n; i

原创 PAT甲級 Shuffling Machine (20分)

模擬洗牌,一個數組拿來存儲洗牌前,一個拿來存儲洗牌後,完成洗牌後,要更新上一次洗牌的數組,方便下一次洗牌。dev裏面不能用to_string要用itoa,pta裏又不能用itoa,要用to_string,這個事就很麻煩了。 #in

原创 PAT甲級 1037 Magic Coupon (25分)

別看這道題花裏胡哨的,簡化一下題意就是對兩個數組求相乘最大值。那就是相同符號的進行相乘。貪心算法,大的和大的相乘。由於這裏的數組範圍不確定且可能會極大,所以採用vector進行儲存。 #include<bits/stdc++.h>

原创 PAT甲級 1036 Boys vs Girls (25分)

排序,排序,又是排序…建立2個結構體,一個男孩,一個女孩,然後對成績進行排序。題目不復雜,就是輸出處理的時候有點麻煩。 #include<bits/stdc++.h> using namespace std; struct stu

原创 PAT甲級 1035 Password (20分)

字符串的轉換,建個結構體儲存賬號密碼,針對符合要求的密碼進行按題意的更改,然後存儲被更改密碼的對應編號,最後按條件輸出即可。 #include<bits/stdc++.h> using namespace std; struct

原创 PAT甲級 1031 Hello World for U (20分)

挺討厭寫這種題的,n1表示豎着的一列字母數,n2是橫着的,因爲相交處會有重複,所以需要-2,這也是題目給的-2的原因。n2需要最大,最大肯定就是n1=n2=n3的情況,然後再作處理就好了。剩下的看代碼應該就懂了。 #include