給出四個整數,求能否經過一系列運算使得這四個數字最終組成24。
注意:運算的任意時刻數字均必須為整數。
很顯然的搜尋嘛。
可以考慮每次列舉使用那兩個數字進行運算,然後再列舉使用哪一種運算方法(加減乘除)。把用過的數字修改成-1.最終搜尋完之後判斷有沒有乙個數字變成了24即可。
思路還是比較簡單,注意細節即可。
時間複雜度:o(o
(懶得算但是可以過)
)
#include
#include
#include
using
namespace std;
int a[5]
,ans[4]
[4];
bool ok;
void
print()
//輸出
}bool
check()
//判斷是否組成了24
void
dfs(
int k)
return;}
int x,y;
for(
int i=
1;i<=
4;i++
)for
(int j=
1;j<=
4;j++
)//列舉兩個數字
if(i!=j&&a[i]
>
0&&a[j]
>0)
}}intmain()
洛谷 P1236 算24點
題目描述 幾十年前全世界就流行一種數字遊戲,至今仍有人樂此不疲 在中國我們把這種遊戲稱為 算24點 您作為遊戲者將得到4個1 9之間的自然數作為運算元,而您的任務是對這4個運算元進行適當的算術運算,要求運算結果等於24。您可以使用的運算只有 您還可以使用 來改變運算順序。注意 所有的中間結果須是整數...
洛谷 P1236 算24點
題目描述 幾十年前全世界就流行一種數字遊戲,至今仍有人樂此不疲 在中國我們把這種遊戲稱為 算24點 您作為遊戲者將得到4個1 9之間的自然數作為運算元,而您的任務是對這4個運算元進行適當的算術運算,要求運算結果等於24。您可以使用的運算只有 您還可以使用 來改變運算順序。注意 所有的中間結果須是整數...
洛谷 P1236 算24點
我對狀態空間的理解 題目傳送門 算 24 點應該是大家耳熟能詳的遊戲了 這題 spj 要求把兩個要運算的數字較大的放在前面輸出 然後爆搜數字順序和運算子就可以了 真 暴力美學 時間複雜度 o 4 4 3 空間複雜度 o n 如下 include include include using names...