生成字串

2021-07-13 08:49:35 字數 766 閱讀 3096

description

假設乙個字串只由字元『0』,『1』,『?』組成,其中字元『?』表示該字元可由字元『0』或『1』替代。

現有一些字串,根據這些字串生成所有可生成的字串。

如:可生成

可生成注意後乙個例子中『?01』並沒有生成新的字串。

input

輸入包含多組測試資料。

每組資料的第一行是兩個整數m,n(1≤m≤15,0≤n≤2500)。m表示字串的長度,n表示字串的個數。兩個整數之間由乙個空格隔開。以下n行每行各有乙個字串。檔案中各行的行首、行末沒有多餘的空格。

當m=n=0時表示輸入結束。

解題思路:主要的思路是對於輸入的字串,將其當做數字看待,對於'?'則分別用0和1代替。這裡使用的是回溯演算法求解。用乙個一維陣列,對於已經存在的數進行標記。

#include #include using namespace std;

char instr[18];

bool is_existed[1<<16];

int m, n;

int total;

void backtrack(int presum, int k)

}else if(instr[k] == '?')

else

}int main()

cout << total << endl;

}return 0;

}

生成字串

從空串出發,每次在字串中間插入乙個或多個相同的字母,插入的字母可以在頭部和尾部。求出最少的次數。動態規劃,逆向進行,考慮首尾。include include include include include include include includeusing namespace std cons...

生成隨機字串

原文出處 估摸著以後極有可能使用到,於是寫了乙個生成隨機字串的函式。可以自定義生成規則,生成字串長度。模仿了ms的函式風格,生成規則使用巨集的或且規則,返回值使用了布林型。這裡使用布林返回可能作用不大。直接貼 吧,同樣是兩個檔案。randomstring.h pragma once define r...

生成JSON字串

假設現在要建立這樣乙個json文字 物件 married false 布林值 try 是建立乙個物件 jsonobject person new jsonobject 第乙個鍵phone的值是陣列,所以需要建立陣列物件 jsonarray phone new jsonarray phone.put ...