๐ŸŽฒ ๋ฐฑ์ค€ 1759๋ฒˆ ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ

Jeongeunยท2024๋…„ 1์›” 21์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
154/186

๋ฐฑ์ค€ 1759๋ฒˆ

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [L, C] = input.shift().split(" ").map(Number);
const alphabet = input.shift().split(" ").sort();
const vowels = ["a", "e", "i", "o", "u"];

const visited = new Array(C);
const content = [0, 0];
const output = [];
let answer = "";

const dfs = (index, count) => {
  if (count === L && content[0] >= 1 && content[1] >= 2)
    answer += `${output.join("")}\n`;
  else {
    for (let i = index; i < C; i++) {
      if (visited[i]) continue;
      visited[i] = true;
      output.push(alphabet[i]);
      const isVowel = vowels.includes(alphabet[i]);
      if (isVowel) {
        content[0]++;
        dfs(i, count + 1);
        content[0]--;
      } else {
        content[1]++;
        dfs(i, count + 1);
        content[1]--;
      }
      output.pop();
      visited[i] = false;
    }
  }
};

dfs(0, 0);

console.log(answer);

0๊ฐœ์˜ ๋Œ“๊ธ€