用了题解的暴力删边过了,然后看见hack数据
200
3
01
02
03
于是就写了这样一个程序:
void insert(int x)
{
int p = 0, len = strlen(s + 1);
for(int i = x; i <= len; i++)
{
int k = s[i] - '0';
if(!b[p].ch[k])b[p].ch[k] = ++cnt;
p = b[p].ch[k];
}
b[p].d = 1;
}
for(int i = 1; i <= m; i++)
{
scanf("%s", s + 1);
if(s[1] != '0')
insert(1);
else
{
for(char j = '1'; j <= '9'; j++)
{
s[0] = j;
insert(0);
}
}
}
就是把所有前导零的幸运数暴力拆成九个。这过掉了hack数据,但是第二组数据wa掉了。
是不是数据有问题?还是我没想清楚?求教!