請通過瀏覽器提交答案。「a」一定不要用小寫字母a,也不要用「1」代替。字元間一定不要留空格。
一直感覺這樣的填空題應該能用暴力方法破解就用暴力方法解,因為暴力方法思路簡單,容易實現,而且因為是填空題,對程式執行時間沒有限制,這樣就可以省下設計漂亮演算法所花費的時間。
這道題也是用暴力演算法解決。用乙個長度為8的陣列模擬牌的序列,用八重迴圈遍歷所有的牌可能的排列順序,然後判斷是否滿足題目中的要求,若滿足則輸出。
#include #include using namespace std;
char para[8];
int findit(char a,int index)
}int main()
; for(int i=0;i<8;i++)
{para[0] = card[i];
for(int i2=0;i2<8;i2++)
{if(i2==i)continue;
para[1] = card[i2];
for(int i3=0;i3<8;i3++)
{if(i3==i||i3==i2)continue;
para[2] = card[i3];
for(int i4=0;i4<8;i4++)
{if(i4==i||i4==i2||i4==i3)continue;
para[3] = card[i4];
for(int i5=0;i5<8;i5++)
{if(i5==i||i5==i2||i5==i3||i5==i4)continue;
para[4] = card[i5];
for(int i6=0;i6<8;i6++)
{if(i6==i||i6==i2||i6==i3||i6==i4||i6==i5)continue;
para[5] = card[i6];
for(int i7=0;i7<8;i7++)
{if(i7==i||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;
para[6] = card[i7];
for(int i8=0;i8<8;i8++)
{if(i8==i||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue;
para[7] = card[i8];
int in1 = findit('a',0);
int in2 = findit('a',in1+1);
int in3 = findit('2',0);
int in4 = findit('2',in3+1);
int in5 = findit('3',0);
int in6 = findit('3',in5+1);
int in7 = findit('4',0);
int in8 = findit('4',in7+1);
//cout<
答案:2342a3a4
藍橋杯 撲克序列
a a 2 2 3 3 4 4,一共4對撲克牌。請你把它們排成一行。要求 兩個a中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。請填寫出所有符合要求的排列中,字典序最小的那個。例如 22aa3344 比 a2a23344 字典序小。當然,它們都不是滿足要求的答案。請通過瀏覽...
藍橋杯結果填空 撲克序列
a a 2 2 3 3 4 4,一共4對撲克牌。請你把它們排成一行。要求 兩個a中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。請填寫出所有符合要求的排列中,字典序最小的那個。例如 22aa3344 比 a2a23344 字典序小。當然,它們都不是滿足要求的答案。請通過瀏覽...
第五屆藍橋杯 撲克序列
問題描述 a a 2 2 3 3 4 4,一共4對撲克牌。請你把它們排成一行。要求 兩個a中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。請填寫出所有符合要求的排列中,字典序最小的那個。例如 22aa3344 比 a2a23344 字典序小。當然,它們都不是滿足要求的答案。...