-
Notifications
You must be signed in to change notification settings - Fork 0
/
A.cpp
97 lines (96 loc) · 1.72 KB
/
A.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include<bits/stdc++.h>
#include<string>
using namespace std;
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL)
int main()
{
int n,i,j,count,co=0,p=0,q,m=0;
static int ara[1005]={0},ans[1005],ch[30]={0};
string s;
char t[1005];
cin>>s;
n=s.size();
ara[0]=1;
ara[1]=1;
for(i=4;i<=n;i+=2)
ara[i]=1;
for(i=3;i*i<=n;i+=2)
{
if(ara[i]==0)
{
for(j=i*i;j<=n;j+=i)
{
ara[j]=1;
}
}
}
count=0;
for(i=2;i<=n;i++)
{
if(ara[i]==0)
{
ans[count]=i;
//cout<<ans[count]<<" ";
count++;
}
}
for(i=0;i<count;i++)
{
if(n/ans[i]>1)
ara[ans[i]]=1;
}
ara[1]=0;
for(i=1;i<=n;i++)
{
if(ara[i]==1)
co++;
}
for(i=0;i<n;i++)
{
ch[s[i]-'a']++;
}
for(i=0;i<26;i++)
{
if(ch[i]>=co)
{
p=1;
q=i;
break;
}
}
if(p==0)
cout<<"NO";
else
{
cout<<"YES"<<"\n";
for(i=1;i<=n;i++)
{
if(ara[i]==1)
{
t[i]='a'+q;
ch[q]--;
}
}
for(i=1;i<=n;i++)
{
if(ara[i]==0)
{
if(ch[m]>0)
{
t[i]='a'+m;
ch[m]--;
}
else
{
while(ch[m]==0)
m++;
t[i]='a'+m;
ch[m]--;
}
}
}
for(i=1;i<=n;i++)
cout<<t[i];
}
return 0;
}