题目
从各位开始按照字母出现的顺序枚举每个字母代表的值;
注意:要倒序枚举,这样比较快,虽然我也不知道为什么。
剪枝:1.搜索时每个数值只能由一个字母代表
2.搜索中如果发现有矛盾就回溯
#include<cstdio>
#define MAXN 26
#include<cstdlib>
#include<cstring>
int a[MAXN+10],n,e[MAXN+10];
char x[MAXN+10],y[MAXN+10],z[MAXN+10];
bool vis[MAXN+10];
void