/* -*- coding: utf-8 -*- * * 3623.cc: No.3623 2-Letter Shiritori 2 - yukicoder */ #include #include using namespace std; /* constant */ const int N = 26; const int NN = N * N; /* typedef */ /* global variables */ int as[NN]; /* subroutines */ void rec(int i, int &k) { as[k++] = i * N + i; if (i + 1 < N) { as[k++] = i * N + (i + 1); rec(i + 1, k); as[k++] = (i + 1) * N + i; for (int j = i + 2; j < N; j++) { as[k++] = i * N + j; as[k++] = j * N + i; } } } /* main */ int main() { int k = 0; rec(0, k); //printf(" k=%d\n", k); for (int i = 0; i < NN; i++) { int c0 = as[i] / N, c1 = as[i] % N; printf("%c%c\n", 'A' + c0, 'A' + c1); } return 0; }