DCP-41: Innovative Birthday Gift! Solution
Problem Link
DCP-41: Innovative Birthday Gift! solution
#include<bits/stdc++.h>
using namespace std;
int listPrime(int n) //Sieve Algorithms
{
bool prime[n+2];
memset(prime,true,sizeof(prime));
int a=1;
for(int i=4; i<=n; i+=2)
prime[i]=false;
for(int i=3; i<=n; i+=2)
{
if(prime[i]==true)
{
a+=1;
for(int j=i*2; j<=n; j+=i)
prime[j]=false;
}
}
return a;
}
int main()
{
string s=" abcdefghijklmnopqrstuvwxyz";
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
if(a==-1)
cout<<".";
else if(a==0)
cout<<" ";
else if(a==1)
cout<<",";
else
{
a=listPrime(a);
a=(a%26)+1;
cout<<s[a];
}
}
cout<<endl;
}
return 0;
}
No comments