洛谷 p1092 蟲食算

2022-06-03 10:42:08 字數 641 閱讀 7333

這個題折騰了我好久 這其實本質上是一道湊算式的題目 ,讓乙個二維陣列存算式,乙個一位陣列存字母分別代表哪個數字。需要注意的是數字還有位置的標號的問題 究竟是0-n還是1-n還是0-(n-1),這是需要仔細考慮的問題。

直接上**吧

#includeusing

namespace

std;

char ss[4][30

];int n,flag[30],s[4][30],vis[30

];void dfs(int x,int y,int

t)

return

; }

for(int i=x-1;i>=1;i--) //

剪枝,一旦不適合就返回

if(flag[s[y][x]]==-1) //

如果這一位的字母還沒有賦值

else}}

else

//如果已經賦值

}}int

main()

for(i=1;i<=3;i++)

for(j=1;j<=n;j++)

memset(flag,-1,sizeof

(flag));

dfs(n,

1,0);

}

洛谷P1092 蟲食算

所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看乙個簡單的例子 其中 號代表被蟲子啃掉的數字。根據算式,我們很容易判斷 第一行的兩個數字分別是5和3,第二行的數字是5。現在,我們對問題做兩個限制 首先,我們只考慮加法的蟲食算。這裡的加法是n進製加法,算...

洛谷P1092 蟲食算

所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看乙個簡單的例子 其中 號代表被蟲子啃掉的數字。根據算式,我們很容易判斷 第一行的兩個數字分別是5和3,第二行的數字是5。現在,我們對問題做兩個限制 首先,我們只考慮加法的蟲食算。這裡的加法是n進製加法,算...

洛谷 P1092 蟲食算

所謂蟲食算,就是原先的算式中有一部分被蟲子啃掉了,需要我們根據剩下的數字來判定被啃掉的字母。來看乙個簡單的例子 其中 號代表被蟲子啃掉的數字。根據算式,我們很容易判斷 第一行的兩個數字分別是5和3,第二行的數字是5。現在,我們對問題做兩個限制 首先,我們只考慮加法的蟲食算。這裡的加法是n進製加法,算...