摘要:
开始试图找挪动的规律,找了半天,成功的挪动规律虽然没找到,但发现了失败的规律。如果出现两个连续的W或B,而它的连续没能连续到边界,则铁定失败。如:...W..BB..W.. 或者 ..B..WW..B..于是,可以递归挪动了~,速度很快,基本为0/*ID: zhangyc1LANG: C++TASK: shuttle*/#include <fstream>#include <iostream>#include <string>#include <cstring>#include <cstdlib>#include <stack& 阅读全文
摘要:
这道题感觉没什么困难的。只是注意,不要重复。(也可以在输出的时候控制不输出重复结果)/*ID: zhangyc1LANG: C++TASK: lgame*/#include <fstream>#include <iostream>#include <string>#include <cstring>#include <cstdlib>#include <queue>using namespace std;char strGiven[10], strDict[10];int nSizeGiven = 0;int arrWei 阅读全文
摘要:
第一问,判断各节点被删除之后,是否可以从起点到终点,如不可以,则满足要求。第二问在第一问基础上,我用的bfs,判断是否成功:将图从当前节点分割成两部分(如果只分成了一部分,则为失败),是否所有边都为内部边,若是则当前节点满足。/*ID: zhangyc1LANG: C++TASK: race3*/#include <fstream>#include <iostream>#include <string>#include <cstring>#include <cstdlib>#include <queue>using nam 阅读全文
摘要:
这道题无论横着,竖着,一行/列来整体放都会超时,想不到什么好办法。只好写了个超长的switch case语句,想清楚瞅仔细,就省得调试麻烦了。//00-17-11-18-03//21-04-22-08-15//12-19-05-20-10//23-07-24-06-16//02-13-09-14-01上图是处理顺序,从00--24. 实际只用了15个case,因为有一些是可以计算出来的。之所以是这个顺序是为了把循环次数小的case放前头。运行速度还是很快的。/*ID: zhangyc1LANG: C++TASK: prime3*///00-17-11-18-03//21-04-22-08-15 阅读全文