#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;
}
HDU4850-Wow! Such String!-hash简单应用
最新推荐文章于 2020-11-10 20:31:37 发布