摘要: 每层找一对相等的整数,分别放在两个不同的串中。参考了学弟的解法,果断觉得自己老了……#include #include #include const int MAXN = 2010;int n;int num[MAXN];int vis[MAXN];bool DFS( int st, int last, int cur ){ if ( cur == n / 2 ) return true; for ( int i = st; i last ) { vis[j] = 1; if... 阅读全文
posted @ 2013-08-08 19:41 冰鸮 阅读(356) 评论(0) 推荐(0)
摘要: 没有任何变换(III变U和删UU操作)之前,I 的个数一定是2^x个(也就是2的整数次幂)若仅考虑III变U,那么设U的个数为k,I 的个数变为2^x-3*k再加上删除UU操作,假设我们删除了2*n个U,设实际U的个数为cntU, 则k=cntU+2*n设 I 的实际个数为cntI,cntI = 2^x - 3*(cntU+2*n), n有解的情况为:( 2^x - 3*cntU - cntI ) % 6 == 0只要找到一个x满足这个条件即可,不过要注意( 2^x - 3*cntU - cntI )>=0,因为 -6%6 = 0,之前没有判断这里,WA的很惨…… 1 #include 阅读全文
posted @ 2013-08-08 19:01 冰鸮 阅读(611) 评论(0) 推荐(0)