poj_1715,過程模擬問題,要求輸出第n個大的8位無重複數字的16進製制數。
思路:從高位開始,從大到小計算該位填某一數字能有多少種可能(排列組合), 用n減去所有可能數從而找到其對應數值。注意首位是0時要去0。**有所參考。
#include
#include
bool vis[20]
;//16位,表示每個數字是否出現過了
int res[10]
;//8位,表示結果的第幾位分別是什麼數字
long
long
fac(
int n,
int m)
return cnt;
}void
solve
(int n)
} t--;}
res[i]
=t;if
(t!=
0||flag) ud++
;//首位去0
if(t!=
0) flag=1;
}}void
print()
}}intmain()
POJ 1002 487 3279 模擬問題
簡單的模擬問題,號碼固定為7位,共n個號碼,那麼定義乙個 char str n 8 即可,先將輸入的字串根據對應關係轉換成 號碼,然後用qsort函式對其排序,對於重複次數,因此時號碼已經有序,可以定義乙個 int s n 來記錄號碼的重複次數,該陣列每位的數值對應排序後的相應位置的 號碼的重複次數...
poj 1218 經典開關問題,模擬
經典開關問題 大概意思如下 乙個監獄看守員喝醉了酒,於是把監獄每扇門都開啟 假設有n扇門 然後再從1號門開始,隔一扇關乙個門 把2的倍數的門關掉 接著再從1號門開始,隔2扇操作乙個門 操作3的倍數的門,原來是開的關掉,關著的則開啟 這樣一直操作到n的倍數,問最後有多少扇門是開啟的。這個也可以叫關燈問...
poj 3276 反轉開關問題 一 DP 模擬
sample input 7bb fbfb b sample output 3 3 窮舉肯定是要超時的 2 n個狀態.但是先思考一些規律吧 1 轉動奇數次,必然與初始方向相反 2 轉動偶數次,必然與初始方向相同 列舉k 1 n,得到o n 3 的 這個 會超時,只是模擬而已 tle o n 3 in...