hash表的应用HDU4886
来源:互联网 发布:新乡青峰网络 编辑:程序博客网 时间:2024/06/06 12:56
#include<cstdio>
#include<cstring>
const int N=2100005;
int t,mi[10];
bool hash[N];
char str[N];
void bui(int len)
{
int n=strlen(str);
int pre=0,s=0;
for(int i=0;i<n;i++)
{
s=s*8+str[i]-'A';
if(i-pre==len)
{
hash[s]=1;
s%=mi[len];
pre++;
}
}
}
bool find(int now,int sum,int len)
{
if(now==len)
{
if(hash[sum]) return 0;
char ans[10];
int an=0;
for(int i=0;i<len;i++)
{
ans[an++]=sum%8+'A';
sum/=8;
}
for(int i=an-1;i>=0;i--)
printf("%c",ans[i]);
printf("\n");
return 1;
}
for(int i=0;i<8;i++)
if(find(now+1,sum*8+i,len)) return 1;
return 0;
}
void build()
{
for(int i=0;i<7;i++)
{
memset(hash,0,sizeof(hash));
bui(i);
if(find(0,0,i+1)) return;
}
}
int main()
{
mi[0]=1;
for(int i=1;i<8;i++)
mi[i]=mi[i-1]*8;
scanf("%d",&t);
while(t--)
{
scanf("%s",str);
build();
}
return 0;
}
#include<cstring>
const int N=2100005;
int t,mi[10];
bool hash[N];
char str[N];
void bui(int len)
{
int n=strlen(str);
int pre=0,s=0;
for(int i=0;i<n;i++)
{
s=s*8+str[i]-'A';
if(i-pre==len)
{
hash[s]=1;
s%=mi[len];
pre++;
}
}
}
bool find(int now,int sum,int len)
{
if(now==len)
{
if(hash[sum]) return 0;
char ans[10];
int an=0;
for(int i=0;i<len;i++)
{
ans[an++]=sum%8+'A';
sum/=8;
}
for(int i=an-1;i>=0;i--)
printf("%c",ans[i]);
printf("\n");
return 1;
}
for(int i=0;i<8;i++)
if(find(now+1,sum*8+i,len)) return 1;
return 0;
}
void build()
{
for(int i=0;i<7;i++)
{
memset(hash,0,sizeof(hash));
bui(i);
if(find(0,0,i+1)) return;
}
}
int main()
{
mi[0]=1;
for(int i=1;i<8;i++)
mi[i]=mi[i-1]*8;
scanf("%d",&t);
while(t--)
{
scanf("%s",str);
build();
}
return 0;
}
0 0
- hash表的应用HDU4886
- hash表的应用
- Hash表的简单应用
- 表连接的HASH算法以及应用
- Hash表的算法与应用
- Sumsets uva+hash表的应用
- hash的巧妙应用
- 整数Hash的应用
- hash的简单应用
- Hash算法的应用
- Hash的应用
- Hash的应用
- 浅谈Hash的应用
- hash表实例应用
- redis的hash应用说明
- Hash的应用(1)
- Hash的应用(2)
- HDU4886 (8/600)
- 崩溃!在一路五年,她仍是只爱前男冤家
- 搭建JAVAEE Memcache 集群环境(一)
- 武夷岩茶独特的品饮情趣
- opencv248到opencv244库的更改
- hdu 4918 点分治
- hash表的应用HDU4886
- 相机标定之OpenCV&Matlab
- 关闭子窗口口刷新父窗口
- 汉子为什么总因这些事抓狂?
- VC中对生成的exe文件大小和速度有影响的编译选项
- Template、ItemsPanel、ItemContainerStyle、ItemTemplate
- (rt-thread gdb)cm系列的GDB移植
- asp.net 将DataTable中的数据导出到Excel并下载方法
- 强连通tarjan模板