這個題折騰了我好久 這其實本質上是一道湊算式的題目 ,讓乙個二維陣列存算式,乙個一位陣列存字母分別代表哪個數字。需要注意的是數字還有位置的標號的問題 究竟是0-n還是1-n還是0-(n-1),這是需要仔細考慮的問題。
直接上**吧
#includeusingnamespace
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進製加法,算...