題目
桌上有一疊牌,從頂面的牌開始往底面依次編號為 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...