福爾摩斯到某古堡探險,看到門上寫著乙個奇怪的算式:
abcde * ? = edcba
他對華生說:「abcde應該代表不同的數字,問號也代表某個數字!」
華生:「我猜也是!」
於是,兩人沉默了好久,還是沒有算出合適的結果來。
請你利用計算機的優勢,找到破解的答案。
把 abcde 所代表的數字寫出來。
答案寫在「解答.txt」中,不要寫在這裡!
這道題找可能存在的算式,以來肯定會暴力,但這太麻煩了。
我們可以轉化為全排列問題利用模板快速得出答案。
也可以利用dfs和swap來解決問題。
1.全排列
#include "iostream"
#include "algorithm"
using namespace std;
void main() ;
do } while (next_permutation(a, a + sizeof(a)/sizeof(int)));
}
#include "stdio.h"
#include "windows.h"
void swap(int &a, int &b)
void perm(int *data, int index, int end)
} else
for (int i = index; i < end; i++)
}int main() ;
perm(data, 0, 10);
return 0;
}
如果對這裡的全排列不理解,可以看我部落格裡的「簡單全排列的邏輯(遞迴實現)」。 2012第三屆藍橋杯預賽題
1.微生物增殖 用每半分鐘作為乙個增長量 假設有兩種微生物 x 和 y x出生後每隔3分鐘 一次 數目加倍 y出生後每隔2分鐘 一次 數目加倍 乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。現在已知有新出生的 x 10,y 89,求60分鐘後y的數目。如果x 10,y 9...
2023年藍橋杯B組初賽(第三屆)
1.兩種生物 2.填數字 暴力 答案 219783.海盜喝酒 include int main 4.電視答題 開乙個十層的迴圈,由於每種情況只有兩種選擇,所以這種方式是可行的。include int main if mark 100 return0 第五題 矩陣的轉置 實現把矩陣順時針旋轉 答案 r...
第三屆藍橋杯複試
第四題 奇怪的比賽 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不...