hdu 1043 Eight(康托展开 + BFS)

Posted jpphy0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 1043 Eight(康托展开 + BFS)相关的知识,希望对你有一定的参考价值。

目录

问题

hdu 1043 Eight - https://acm.hdu.edu.cn/showproblem.php?pid=1043

分析

  • 康托展开
int frac[10]={1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
int toCantor(char *x){
	int ret = 0, cnt = 0;
	char str[11]="123456789"; // 初始排列
	for(int i = 0; i < 9; ++i){
		for(int j = 0; j < 9; ++j) cnt += x[i] > str[j];
		str[x[i]-'1'] = 'a', ret += cnt*frac[8-i], cnt = 0;
	}
	return ret+1;
}

以上是关于hdu 1043 Eight(康托展开 + BFS)的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1043 Eight(反向BFS+打表+康托展开)

HDU 1043 Eight(双向BFS+康托展开)

HDU - 1043Eight(反向bfs+康托展开)

HDU 1043 Eight(哈希 + BFS)

hdu 1043 Eight

hdu 1043 Eight (八数码问题)BFS+康拓展开