题目思路:
Croc 2013年 第一轮,晚上做实在没精神啊。。。
简单的分析一下题意可以发现如果n>=7,肯定是无解的,因为每个值各不相同,且必须都用到一次,还要满足回文,假设n=7,那么最小长度=6+1+6=13 > 12 ,所以n>=7肯定无解。
所以深搜暴力求解出所有回文串,个数不会超过2*6^6(n<=6),在枚举每个回文串,对每个回文串添加‘.’,形成IP,所以最大运算次数为27*2*6^6=2519424(肯定远小于这个数的),而且必须保证形成的ip去掉.后仍为原始的回文串,否则会出现重复与错误。
代码:
[cpp]
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll __int64
#define ls rt<<1
#define rs ls|1
#define lson l,mid,ls
#define rson mid+1,r,rs
#define middle (l+r)>>1
#define clr_all(x,c) me