原创 【DFS或BFS】之L2-016 願天下有情人都是失散多年的兄妹 詳解

  題目鏈接:   https://pintia.cn/problem-sets/994805046380707840/problems/994805061769609216 思路:  利用的是二叉樹的原理。把每個人的親緣關係用一棵二叉

原创 PTAL1-017 到底有多二 (15分)

思路:  就是按照題目的意思,進行分析。先判斷是不是負數,是不是偶數,有多少個2,依次處理倍數。 有值得注意的地方是,N是不超過50位的,所以正常的整數以及long long 型也是不滿足的,所以要用字符數組或者字符串來處理,與整型差不

原创 PTAL1-020 帥到沒朋友 (20分)

思路:  一開始看到題目,我以爲是並查集,然而並不是,就是簡單的記錄再輸出。首先把不是一個人或者沒有朋友圈的人排除掉,記錄有朋友的人。然後進行枚舉,找出在之前沒有記錄過的人,並輸出。 具體看代碼~~ #include<iostream>

原创 第十屆藍橋杯A組(C/C++組) 外賣店優先級

  思路: 這道題還是枚舉的思路,另外還運用到了vector容器。就是按時間一個一個出訂單,沒出一個判斷一次,判斷此刻店的狀態。把問題劃分爲一家一家店的小問題。   #include<iostream> #include<vecto

原创 L1-028 判斷素數 詳解

思路:  首先得明確:1不是素數!!! 素數:除1以外只能被其自身整除,注意1不是素數,2是素數 爲降低時間複雜度,可以只遍歷2到sqrt(n)的因子,因爲一個數就是兩個因子相乘嘛 #include<iostream> #includ

原创 PTAL1-010 比較大小 (10分)

思路:  利用數組來存取數字,再利用頭文件algorithm中提供的sort函數進行排序輸出,這是個快速排序。 #include<iostream> #include<algorithm> using namespace std; i

原创 PTAL1-019 誰先倒 (15分)

  思路: 按照我們正常的思考邏輯,一輪一輪的判斷,酒量先到底的人輸掉。   #include<iostream> #include<algorithm> using namespace std; int main() { int A

原创 PTAL1-018 大笨鐘 (10分)

思路: 比較簡單,就是根據題意得到鐘聲的次數。 不過有點坑就是關於輸入格式和輸出格式 還有就是ceil函數裏面的數要是double型的,純整數會自動截取小數的 #include<iostream> #include<math.h> #

原创 BFS之L2-011 玩轉二叉樹 (前序中序確定二叉樹)

思路: 這是一道關於二叉樹確定以及遍歷的題目。首先我們要了解前序中序的特點。 前序:根節點->左節點->右節點 中序:左節點->根結點->右節點 所以前序的第一個元素就是二叉樹的根,再到中序裏面找到這個值;這個值左邊的的數就是左子樹的,

原创 關於動態規劃的個人理解與感悟

簡單來說,就是把大問題化爲小問題,找到小問題的解決方案,合成大問題的解決方案,記錄小問題的最優解決方案,以便於回溯尋找,降低時間複雜度。 通過例子來理解: 揹包問題: 有n個物品,它們有各自的體積和價值,現有給定容量的揹包,如何讓揹包裏裝

原创 PTAL1-011 A-B (20分)

  思路: 就是標記b中出現過的字符,讓a輸出時不輸出標記過的! #include<iostream> #include<algorithm> #include<string> #include<string.h> using name

原创 set運用之L1-033 出生年

思路:  一開始的思路是把每個位上的數字單獨取出,再一一比較,看看到底有多少個不同。但這樣很複雜,寫起來很繁瑣。完全沒有想起set。。。。運用上set的話,就簡單多了,直接是數元素,裏面不會有重複的元素。 還有一個注意的地方是,輸出的年

原创 L1-025 正整數A+B (15分)詳解

  思路:  一開始我是用兩個字符數組來做的,發現總有一些數據過不了emmm。。後來發現這道題有些坑,第一個字符串是可以爲空的,所以決定用一個字符串變量存取,接着來找空格的位置。 #include<iostream> #include<

原创 set的運用之L1-027 出租 (20分)詳解

  思路:  首先用set來記錄電話號碼中出現的數字,並用arr數組存儲起來。接着遍歷電話號碼中的各個數字,在arr中找到各個數字所在的位置。再按照對應的格式進行輸出 這裏還有道相似的題目,並附有set的詳細介紹和使用! https:/

原创 【並查集】之L2-010 排座位 (25分)詳解

1和2是朋友,2和3是朋友。1和3之間就連通了,題目說朋友的朋友也是朋友,所以1和3也是朋友。我們用數組a[]表示下標對應的下一個點多少。例如圖  a[1]=2,a[2]=3,     每個點都有自己的下一個點。當下一個點沒有了,找不到