遊戲字典序問題 解題報告

2021-08-25 09:07:54 字數 641 閱讀 2494

描述:在資料加密和資料壓縮常需要對特殊的字串進行編碼。給定的字母表a有26個英文本母組成a=。該字母表產生的公升序字串指的是字串中字母按照從左到右出現的次序與字母在字母表中出現的次序相同,且每個字元最多出現1次。例如,a,b,ab,bc,xyz等字串都是公升序字串。現在對字母表a產生的所有長度不超過6的公升序字串按照字典序列排列並編碼如下。

對於任意長度不超過6的公升序字串,迅速計算出它在上述字典中的編碼。

輸入:輸入為一行,乙個長度不超過6的公升序字串。

輸出:輸出為一行,為對應字串的編碼。注意末尾要有換行。

輸入樣例: a

ac 輸出樣例: 1

28 解題思路:

輸入幾個字母,先是求出它們全部的排列組合的總數,及它們達到最大的上限,由於它們是公升序的,所以可以用無序的排列組合求解,接下來就是要減去多加的一些組合,例如,abc,對於第乙個字母,應該是多加了b~z的那些組合,要減去它們,以及一些到最好的字母。

**如下:

code:

#include

#include

using

namespacestd;

intcnk(intn,intk)

intmain()

石子問題解題報告

description 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最...

數獨問題解題報告

valid sudoku 九宮格就是要求每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。所以這裡我們的思路就是一次檢查每一行,每一列中是否有重複的數字如果有則返回false class solution cols for int j 0 j 9 j 當需要分割大的變為小的,可以通過次數來進行...

全排列問題 解題報告

全排列問題 解題報告 2015年08月12日 21 04 52 閱讀數 1488 全排列問題 問題描述 輸出自然數1到n所有不重複的排列,即n的全排列,要求所產生的任一數字序列中不允許出現重複的數字。輸入格式 n 1 n 9 輸出格式 由1 n組成的所有不重複的數字序列,每行乙個序列。輸入樣例 3 ...