洛谷 P1236 算24點

2022-05-12 15:33:54 字數 754 閱讀 3630

我對狀態空間的理解:

題目傳送門:

算\(24\)點應該是大家耳熟能詳的遊戲了……

這題\(spj\),要求把兩個要運算的數字較大的放在前面輸出……

然後爆搜數字順序和運算子就可以了……

真~暴力美學

時間複雜度:\(o(4!*4^3)\)

空間複雜度:\(o(n)\)

**如下:

#include #include #include using namespace std;

bool bo[5];

int a[5],sta[5],sign[4],fake[5];

int read()

void print()

}//輸出

void check()

} if(now==24)

}//判斷是否可以算出24

void make_sign(int id)

for(int i=1;i<=4;i++)

sign[id+1]=i,make_sign(id+1);

}//搜完運算子就判是否可行

void dfs(int id) //搜完數字搜運算子

for(int i=1;i<=4;i++)

if(!bo[i]) //爆搜數字

}int main() puts("no answer!");//如果爆搜出不了結果就no answer!

return 0;

}

洛谷 P1236 算24點

題目描述 幾十年前全世界就流行一種數字遊戲,至今仍有人樂此不疲 在中國我們把這種遊戲稱為 算24點 您作為遊戲者將得到4個1 9之間的自然數作為運算元,而您的任務是對這4個運算元進行適當的算術運算,要求運算結果等於24。您可以使用的運算只有 您還可以使用 來改變運算順序。注意 所有的中間結果須是整數...

洛谷 P1236 算24點

題目描述 幾十年前全世界就流行一種數字遊戲,至今仍有人樂此不疲 在中國我們把這種遊戲稱為 算24點 您作為遊戲者將得到4個1 9之間的自然數作為運算元,而您的任務是對這4個運算元進行適當的算術運算,要求運算結果等於24。您可以使用的運算只有 您還可以使用 來改變運算順序。注意 所有的中間結果須是整數...

洛谷P1236 算24點 搜尋

給出四個整數,求能否經過一系列運算使得這四個數字最終組成24。注意 運算的任意時刻數字均必須為整數。很顯然的搜尋嘛。可以考慮每次列舉使用那兩個數字進行運算,然後再列舉使用哪一種運算方法 加減乘除 把用過的數字修改成 1.最終搜尋完之後判斷有沒有乙個數字變成了24即可。思路還是比較簡單,注意細節即可。...