輕觸即可跳轉到hdu_1427
problem description
速算24點相信絕大多數人都玩過。就是隨機給你四張牌,包括a(1),2,3,4,5,6,7,8,9,10,j(11),q(12),k(13)。要求只用'+','-','*','/'運算子以及括號改變運算順序,使得最終運算結果為24(每個數必須且僅能用一次)。遊戲很簡單,但遇到無解的情況往往讓人很鬱悶。你的任務就是針對每一組隨機產生的四張牌,判斷是否有解。我們另外規定,整個計算過程中都不能出現小數。
input
每組輸入資料佔一行,給定四張牌。
output
每一組輸入資料對應一行輸出。如果有解則輸出"yes",無解則輸出"no"。
sample input
a 2 3 6
3 3 8 8
sample output
yesno
之前的搜尋都是地圖問題,猛地拿來這個題一驚!!!
其實就是炒雞暴力列舉 就是要注意一下減和除的順序不能顛倒,還有就是除數不能為0的情況
#include #include #include using namespace std;
double num[4];
int dfs(int n)
for(int i=0;ifor(int j=i+1;jif(a)
num[i]=a;
num[j]=b;//數值恢復
}return 0;
}int main();
while(scanf("%s%s%s%s",mmp[0],mmp[1],mmp[2],mmp[3])!=eof)
//printf("%lf ",num[i]);
}if(dfs(4))
printf("yes\n");
else
printf("no\n");
memset(mmp,0,sizeof(mmp));
memset(num,0,sizeof(num));
}return 0;
}
HDU 1427 速算24點 (尚未完成)
problem description 速算24點相信絕大多數人都玩過。就是隨機給你四張牌,包括a 1 2,3,4,5,6,7,8,9,10,j 11 q 12 k 13 要求只用 運算子以及括號改變運算順序,使得最終運算結果為24 每個數必須且僅能用一次 遊戲很簡單,但遇到無解的情況往往讓人很鬱悶...
hdu 1427速算24點(列舉全排列)
題意 算24點相信絕大多數人都玩過。就是隨機給你四張牌,包括a 1 2,3,4,5,6,7,8,9,10,j 11 q 12 k 13 要求只用 運算子以及括號改變運算順序,使得最終運算結果為24 每個數必須且僅能用一次 遊戲很簡單,但遇到無解的情況往往讓人很鬱悶。你的任務就是針對每一組隨機產生的四...
HDU訓練記錄2 基礎數字dp
題目描述 傳送門題意 求0 n中含 49 的數的個數。題解狀態 f i j 表示i位數所有以j開頭的數中合法 不含 49 的數的個數。轉移 if j 4 k 9 f i j f i 1 k 列舉jk分別為i和i 1位數的開頭並且滿足條件。求解時用總數減去dp值。注意 這道題傳m 1的話有可能爆lon...