Innokentiy decides to change the password in the social net "Contact!", but he is too lazy to invent a new password by himself. That is why he needs your help.
Innokentiy decides that new password should satisfy the following conditions:
- the length of the password must be equal to n,
- the password should consist only of lowercase Latin letters,
- the number of distinct symbols in the password must be equal to k,
- any two consecutive symbols in the password must be distinct.
Your task is to help Innokentiy and to invent a new password which will satisfy all given conditions.
The first line contains two positive integers n and k (2 ≤ n ≤ 100, 2 ≤ k ≤ min(n, 26)) — the length of the password and the number of distinct symbols in it.
Pay attention that a desired new password always exists.
Print any password which satisfies all conditions given by Innokentiy.
4 3
java
6 6
python
5 2
phphp
In the first test there is one of the appropriate new passwords — java, because its length is equal to 4 and 3 distinct lowercase letters a,j and v are used in it.
In the second test there is one of the appropriate new passwords — python, because its length is equal to 6 and it consists of 6 distinct lowercase letters.
In the third test there is one of the appropriate new passwords — phphp, because its length is equal to 5 and 2 distinct lowercase lettersp and h are used in it.
Pay attention the condition that no two identical symbols are consecutive is correct for all appropriate passwords in tests.
思路:按照惯例,A题是个大水题,题意长篇大论说了那么多,其实就是一句话,请输出k种字符,共n个,并且相邻的不能相同。
看代码就知道什么意思了,,,不过多解释。
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int p=n/m;
for(int j=0;j<p;j++)
{
for(int i=0;i<m;i++)
printf("%c",i+'a');
}
n-=p*m;
for(int i=0;i<n;i++)
printf("%c",i+'a');
printf("\n");
}
}