您的位置:首页 > 其它

HDU4850-Wow! Such String!-hash简单应用

2016-04-08 21:34 423 查看
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
#define maxn 26*26*26*26
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
int a[500005];
int vis[26][26][26][26];
int mod1=26*26*26;
int mod2=26*26;
int mod3=26;
int main()
{
memset(vis,0,sizeof vis);
a[1]=0;a[2]=0;a[3]=0;
for(int i=4;i<=maxn+3;i++) {
for(int j=25;j>=0;j--) {
if(vis[a[i-3]][a[i-2]][a[i-1]][j]==0) {
a[i]=j;
vis[a[i-3]][a[i-2]][a[i-1]][j]=1;
break;
}
}
}
//   cout << 1<< endl;
//  for(int i=1;i<=200;i++)
//    printf("%d ",a[i]);
int n;
while(scanf("%d",&n)!=EOF) {
if(n>maxn+3) {
printf("Impossible\n");
}
else {
for(int i=1;i<=n;i++)
printf("%c",a[i]+97);
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: