原创 PAT A1098 堆排序

完整的堆排序內容; 其中給出了一個思路,就是對於插入排序,使用sort函數會快很多。。。這也算模擬經典排序的一種取巧方式 #include<iostream> #include<stdlib.h> #include<stdio.h> #in

原创 PAT A1094

水題,沒有什麼好說的 #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<queue> using namespace std;

原创 PAT A1144

題目操蛋就操蛋在給出的int範圍內的數可能會使得數組開不夠,所以用map可能好一點 #include <iostream> #include <map> using namespace std; int main() { int

原创 PAT A1142

題目大意:給出一個無向圖,並且給出一個點集,要求內部每個點兩兩直接相連;並且後面要判定是不是最大的滿足這個點集的集合; #include<iostream> #include<stdlib.h> #include<stdio.h> #in

原创 PAT A1119 前序遍歷後續遍歷不唯一生成

之前僅僅接觸過如何通過二叉樹的中序+先序/後序序列生成唯一二叉樹,這一次見到了這個新的題型; 這裏先梳理一個概念,之所以會生成樹不唯一,一定是有一個葉子,無論其在父節點的左右子節點,都可能生成相同的先序和後序遍歷序列; 所以這個時候,思路

原创 PAT A1125

題目沒讀懂,剛開始都不知道他在說些什麼。。。 簡而言之就是給出一堆繩子,練成一條; 沒兩兩段繩子練成環,串在一起,之後仍舊視爲一串繩子,下次跟別的單獨繩子連接的時候仍需對摺; 所以可以看出,越長的繩子在前面越對摺越吃虧,所以應該進行排序,

原创 PAT A1122

本身在圖論不是一道難題; 需要注意這個環判斷的幾個隱藏點:1.首位相同;2.每個節點只能訪問一次; 這裏借鑑一位大神的操作,其實兩種情況可以分兩種判別方式,分開判別;這裏再次說一下set查重賊好用,這裏可以看是否出現重複節點; #inclu

原创 PAT A1121

水題,但是通過這一題需要改進一點; 對於hash賦初值的時候一定要謹慎一點,不要隨便賦值0,視輸入的數據而定; #include<iostream> #include<stdlib.h> #include<stdio.h> #include

原创 PAT A1063

這裏面還是用到了set去重,還是要多掌握stl的用法;這裏注意一個巧妙地處理;由於我們尋找的時兩個集合a,b的不重複元素,和重複元素;首先記錄b的集合元素,在b中挨個尋找a的元素;如果在b中沒有找到,則說明是不重複元素,找到了說明時重複元素

原创 PAT A1060 科學記數法經典例題(全string庫解決)

挺操蛋的一道題,我他媽的都服了。。。出這道題我怕是斃了 首先題目裏就有幾個坑:1.可能有前導零,比如說000.00012.可能有零,比如說000.0000000 哎,思路感覺最重要,對於字符串處理一定要有思路,知道先幹嘛,後幹嘛; 首先就

原创 PAT A1120

水題,沒什麼可說的 #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> using namespace std; using std::vecto

原创 PAT A1116

hash數組能少開就少開,而且還可以利用set進行去重管理 #include <iostream> #include <set> #include <cmath> using namespace std; int ran[10000];

原创 PAT A1108

字符串處理,個人覺得最好的辦法還是建立一個處理函數統一進行處理; #include<iostream> #include<cstdio> #include<string> using namespace std; const int max

原创 PAT A1104

如果採用單純的暴力枚舉,會出現超時問題,可以跟絕遞推來找出來規律; 代碼如下: #include<iostream> #include<stdlib.h> #include<stdio.h> #include<cstring> #incl

原创 PAT A1052

這個需要注意的是相關的string轉整數或者double的函數;詳見這個鏈接blog #include <iostream> #include <string> using namespace std; bool isPrime(int