51nod 2068 堆牌問題

2021-10-08 18:38:52 字數 993 閱讀 3123

題目

桌上有一疊牌,從頂面的牌開始往底面依次編號為 1~n。當至少還剩兩張牌時進行以下操作:把第一張扔掉,然後把新的第一張放到整疊牌的最後。

輸入輸入乙個正整數 n,2<=n≤1000000,表示起始時牌的張數

輸出輸出一行,按順序輸出每次扔掉的牌的編號,最後輸出最後剩下的牌的編號,兩個數之間用乙個空格隔開。

輸入樣例

7輸出樣例

1 3 5 7 4 2 6

解題思路

利用queue把n個數放進去然後挨個輸出

**

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define int_max 0x7fffffff

#define int_min 0x80000000

const

int mod =

1e9+7;

const

int n =

100000+5

;using

namespace std;

queue<

int>a;

intmain()

cout << a.

front()

<<

' ';

while

(a.size()

!=1)return0;

}

51nod1702 卡牌遊戲

題目鏈結 最樸素的想法是將圖建出來跑最短路。觀察後發現如下兩條性質 1.邊權是1,可以用廣度優先搜尋代替最短路。2.因為是廣度優先搜尋,每條邊只會被鬆弛一次。但是圖的大小可能是n 2n 2 n2級別的。我們考慮使用線段樹維護隱式圖來支援搜尋。複雜度o n log2 n o nlog 2n o nlo...

51nod 迷宮問題

1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...

51nod編輯距離問題

編輯距離,又稱levenshtein距離 也叫做edit distance 是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。例如將kitten一字轉成sitting sitten k s sittin e i sit...