https://codeforces.com/contest/1511/problem/D
시간 2초, 메모리 256MB
input :
output :
조건 :
위의 조건을 만족시키지 않는 문자열을 만들고 싶으면 어떻게 해야 할까...
조건을 보면 결국에는 2짜리 단어들 중 동일한 단어가 없는 문장을 만들면 된다.
그러면 aa, ab, ac, ad, ae, ...., zz까지 경우가 존재하는데 예외가 발생한다.
aaab와 같은 경우 위의 비용이 발생하기 때문에 그냥 a, ab, ac의 순서대로 만들면 이를 예방할 수 있다.
그러면 이 단어들을 모두 합해 문장을 만들어서 그냥 출력하면 우리가 원하는 문장을 얻을 수 있다.
import sys
n, k = map(int, sys.stdin.readline().split())
ans = []
for i in range(k):
now = chr(97 + i)
ans.append(now)
for j in range(i + 1, k):
ans.append(now + chr(97 + j))
ans = "".join(ans)
while len(ans) < n:
ans += ans
print(ans[:n])