완전탐색을 통해 찾을 수 있는 문제다 모든 단어는 antc로 시작하고 tica로 끝나므로 최소 antic 문자는 배워야한다! 5개!! 그럼 알파벳 21개중에 내가 k-5개를 골라서 그 알파벳들로 최대로 배울 수 있는 문장수를 찾으면 된다! 비트를 통해 알파벳을 고르고 하나하나 확인해보자! 소스코드 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 50 51 52 53 54 55 56 57 #include #include #include #include using namespace std; int n,k,ans;..
백트래킹을 이용해 풀 수 있는 문제다! 근데 막풀면 틀린다 처음에 그냥 있는그대로 넣고 구하고 생각해보니 시간이 20^10이였다 ㅋㅋㅋ 구간의합의 부호를 주기 때문에 수를 고르고 구간의 합을 확인 후 가능하면 넘기면 된다! 근데 헷갈리는 부분은 같은 수를 중복으로 못쓰는 줄 알았는데 사용가능하다..! 중복으로 사용 못하게 풀면 틀린다! 소스코드 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 #include using namespace std; int n; char op[12][12]; int psum[12],ans[12]; bool check(int..
유명한 N-Queen 문제다! 백트래킹을 통해 찾을 수 있다 여기서 핵심은 내가 한 행을 기준으로 보면 된다는 것이다 그럼 한 행을 잡고 그 안에서 퀸을 놓을 수 있는 열을 찾고 다음 행으로 가는 것이다 그렇게 행을 끝까지 도착하면 경우의수가 1개 증가한다! 소스코드 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 #include using namespace std; int n,ans; bool check[22][22]; int dx[2] = {-1,-1}; int dy[2] = {-1,1}; bool inner(int x,int y)..