vijos P1099蟲食算 搜尋

2021-07-23 23:56:02 字數 830 閱讀 6669

……好嘛終於下定決心寫一把大暴搜【以為自己碼力會清空23333】

然而發現怎麼…………為什麼……我的200+行毫不猶豫地又wa又t只能過樣例,完全不想調啊【眼神死

去看了某大爺的題解……大概思路就是從右往左的字母分別列舉,每次check一下可不可能滿足,如果不可能就return(這是個大剪枝),然後在列舉完了的時候,check一下等式是否成立…………

然而……這樣只有80…………神tm卡掉兩個點。

這個時候……對於每個字母的賦值從大往小就直接過了【想了一下覺得不是特別有道理,大概是玄學?有某些blog表示是因為低位有進製,我覺得是瞎扯淡】

不過啊…………這樣寫…………只有70行而且跑得很快,好寫好調,直接一把就a了【除了初值上有點小bug23333】

憑什麼大暴搜這麼好寫啊2333

所以我還是沒有掌握優秀的搜尋技巧啊2333

哪天寫一把mayan【畏懼臉】

#include#define maxn 30

using namespace std; int n;

int a[maxn],b[maxn],c[maxn];

char read_s[maxn];

int que[maxn];

int mp[maxn];

int ust[maxn];

bool check1()

return 1;

}bool check2()

if(now) return 0;

return 1;

}void dfs(int now){

if(now>=n){

if(check2()){

for(int i=0;i

搜尋 蟲食算

p1135 蟲食算 noip 時間限制 10000 ms 空間限制 65536 kb 問題描述 所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看乙個簡單的例子 43 9865 045 8468 6633 44445506978 其中 號代表被蟲子啃掉的...

noip 蟲食算 搜尋

描述 所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看乙個簡單的例子 43 9865 045 8468 6633 44445506678 其中 號代表被蟲子啃掉的數字。根據算式,我們很容易判斷 第一行的兩個數字分別是5和3,第二行的數字是5。現在,我們...

蟲食算(搜尋 剪枝)

題意 給乙個3個n進製的有n個字母組成的序列,使第乙個數列和第二個數列加起來等於第三個數列的情況成立。蒟蒻調了一上午 半下午 感覺我碼力極差 考慮乙個剪枝,比如a,b,c的情況,要麼是 a b n c,要麼是 a b 1 n c 考慮了進製 感覺我打麻煩了 其實不太適合參考 include incl...