NWPU演算法考試複習 窮舉所有排列

2021-08-31 16:32:50 字數 839 閱讀 6095

描述

輸入乙個小於10的正整數n,按把每個元素都交換到最前面一次的方法,輸出前n個小寫字母的所有排列。

輸入輸入乙個小於10的正整數n。

輸出按把每個元素都交換到最前面一次的方法,輸出前n個小寫字母的所有排列。

輸入樣例

3輸出樣例

abcacb

bacbca

cbacab

#include

//這題也是乙個簡單的回溯法的模型,就是搜尋方式略微有些不同

#include

//這是對於排列樹的搜尋,而0-1揹包之類的是對子集樹的乙個搜尋

#define n 100

using

namespace std;

void

dfs(

int m)

;void

output()

;void

swap

(char

*a,char

*b);

//交換函式

int n;

char a[n]

="abcdefghijklmnopqrstuvwxyz"

//直接定義這樣的陣列,避免輸入時的麻煩

intmain()

void

dfs(

int m)}}

void

output()

void

swap

(char

*a,char

*b)//不寫了。浪費時間,我還是踏踏實實的複習吧,不然這次考試感覺要涼。

NWPU演算法考試複習 裝載問題

描述 有兩艘船,載重量分別是c1 c2,n個貨櫃,重量是wi i 1 n 且所有貨櫃的總重量不超過c1 c2。確定是否有可能將所有貨櫃全部裝入兩艘船。輸入多個測例,每個測例的輸入佔兩行。第一行一次是c1 c2和n n 10 第二行n個整數表示wi i 1 n n等於0標誌輸入結束。輸出對於每個測例在...

NWPU演算法考試複習 二分查詢

描述 給定乙個單調遞增的整數序列,問某個整數是否在序列中。輸入第一行為乙個整數n,表示序列中整數的個數 第二行為n n不超過10000 個整數 第三行為乙個整數m m不超過50000 表示查詢的個數 接下來m行每行乙個整數k。輸出每個查詢的輸出佔一行,如果k在序列中,輸出yes,否則輸出no。輸入樣...

NWPU演算法考試複習 0 1揹包問題

描述 需對容量為c 的揹包進行裝載。從n 個物品中選取裝入揹包的物品,每件物品i 的重量為wi 價值為pi 對於可行的揹包裝載,揹包中物品的總重量不能超過揹包的容量,最佳裝載是指所裝入的物品價值最高。輸入多個測例,每個測例的輸入佔三行。第一行兩個整數 n n 10 和c,第二行n個整數分別是w1到w...