할껀하고놀자

[백준] 암호 만들기 본문

[IT]/백준

[백준] 암호 만들기

working_hard 2019. 4. 1. 11:56
728x90

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Arrays;

 

public class sol1759 {

    static char [] arr;

    static boolean [] visited;

    static int N;

    static int M;

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt")));

        String [] ss = br.readLine().split(" ");

        N = Integer.parseInt(ss[0]);

        M = Integer.parseInt(ss[1]);

        arr = new char [M];

        visited = new boolean [M];

        ss = br.readLine().split(" ");

        for (int i = 0; i < M; i++) {

            arr[i] = ss[i].charAt(0);

        }

        Arrays.sort(arr);

        dfs(0,0,0,0);

    }

    static void dfs(int start,int depth,int ja,int mo) {

        if(depth==&& ja>=2 && mo >= 1) {

            for (int i = 0; i < M; i++) {

                if(visited[i]) {

                    System.out.print(arr[i]+" ");

                }

            }

            System.out.println();

        }

        for (int i = start; i < M; i++) {

            visited[i] = true;    // 방문 해주었음.

            // start 지점 +1 , depth +1, 자음 있다면 하나 더해주고, 모음 있다면 하나 더해주기

            dfs(i+1,depth+1,ja+(check(arr[i]) ? 0 : 1), mo+(check(arr[i]) ? 1 : 0));

            visited[i] = false;    // 백트래킹

        }

    }

    static boolean check(char a) {

        if(a == 'a' || a == 'e' || a=='i' || a=='o' || a=='u')

            return true;

        else 

            return false;

    }

}

 

Colored by Color Scripter

cs

'[IT] > 백준' 카테고리의 다른 글

[백준] N과 M (1)  (0) 2019.04.01
[백준] N과 M (2)  (0) 2019.04.01
[백준] 외판원 순회 2  (0) 2019.04.01
[9095] 1,2,3 더하기  (0) 2018.09.03
[11726] 2xn 타일링 문제  (0) 2018.09.01
Comments