[백준/c++] 15658번: 연산자 끼워넣기 (2)
·
알고리즘/백준
https://www.acmicpc.net/problem/15658 15658번: 연산자 끼워넣기 (2) 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1보다 크거나 같고, 4N보다 작거나 같은 4개의 정수가 주어지는데, 차례대 www.acmicpc.net 숫자는 고정이고 연산자만 골라서(Backtracking) 연산해주고 결괏값을 Min, Max 구해주면 된다. 여기서 주의할 것은 최대 10억 최소 -10억이라는 것이다. 이걸 까먹고 안해서 틀렸다..^^ㅋㅋㅋㅋ #include #include #include #include using namespace std; int n, arr[12],..
[백준/c++] 1748번: 수 이어 쓰기 1
·
카테고리 없음
https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net 처음엔 그냥 문자열로 쭉 붙였는데 시간 초과.. if문으로 n까지 자릿수 더해주기로 했는데 시간 초과 결국 다른 사람 코드를 확인했다. 그러니까 엄청 간단하게 나왔다.. 아래 코드는 i자릿수에 해당하는 숫자의 개수 더해준다. 이런 코드는 지금 상태론.. 절대 생각 못해낼 듯싶다..ㅋㅋ.. 이것도 기억해놓기로~ #include #include #include #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);..
[백준/c++] 1476번: 날짜 계산
·
알고리즘/백준
https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 처음엔 어떻게 하면 좋을까 하다가 시간제한이 2초라 완전 탐색 충분히 될 거 같아서 해봤다 역시... 반복문으로 진행하면 한번에 cnt++하고 만약 범위를 벗어나면 1로 돌려준다. #include #include #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int E, S, M; ci..
[백준/c++] 1285번: 동전 뒤집기
·
알고리즘/백준
https://www.acmicpc.net/problem/1285 1285번: 동전 뒤집기 첫째 줄에 20이하의 자연수 N이 주어진다. 둘째 줄부터 N줄에 걸쳐 N개씩 동전들의 초기 상태가 주어진다. 각 줄에는 한 행에 놓인 N개의 동전의 상태가 왼쪽부터 차례대로 주어지는데, 앞면이 위 www.acmicpc.net 이들 N^2개의 동전에 대하여 임의의 한 행 또는 한 열에 놓인 N개의 동전을 모두 뒤집는 작업을 수행할 수 있다. N^2개의 동전들의 초기 상태가 주어질 때, 한 행 또는 한 열에 놓인 N개의 동전을 모두 뒤집는 작업들을 수행하여 뒷면(T)이 위를 향하는 동전 개수를 최소로 하려고 한다. 이때 최소 개수를 구하는 프로그램 구하기 [정리] 각 행/열 별로 동전을 뒤집을 수 있다. 각 동전의 상..
[백준/c++] 1747번: 소수&팰린드롬
·
알고리즘/백준
https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net while문을 돌면서 N보다 크거나 같은 수를 팰린드롬인지 소수인지 체크해주고 맞다면 바로 나와서 값을 출력하면 된다. 시간제한이 2초라서 for문으로 돌리면서 소수를 찾아도 충분하다.. #include #include using namespace std; bool isPrime(int n){ if(n == 1) return false; for(int i=2;..
[백준/c++] 2529번: 부등호
·
알고리즘/백준
https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net 후.. 처음에는 아 이걸 어떻게 해;; 했었는데 그냥 백 트랙킹으로 순서가 다른 수열을 쭉 늘어놓고 부등호 비교 연산을 하면 된다.ㅋ 2번째 예제를 돌리면서 시간이 좀 걸리길래 시간초과인가 했는데 잘 됐다!^^ #include #include #include #include using namespace std; int k; char ch[10]; vector v; string s; bool vi..
[백준/c++] 16439번: 치킨치킨치킨
·
알고리즘/백준
https://www.acmicpc.net/problem/16439 16439번: 치킨치킨치킨 첫 번째 줄에 고리 회원의 수 N (1 ≤ N ≤ 30) 과 치킨 종류의 수 M (3 ≤ M ≤ 30) 이 주어집니다. 두 번째 줄부터 N개의 줄에 각 회원의 치킨 선호도가 주어집니다. i+1번째 줄에는 i번째 회원의 선 www.acmicpc.net 순서대로 정리를 해보자면 1. 치킨 3개 고르기 (backtracking) : vector에 치킨 종류 넣기 2. N명의 만족도 구하기 : 시킨 치킨 3개 중 각 회원의 선호도가 가장 큰 값 3. N개의 만족도를 sum에 누적 합산시키면 answer #include #include #include using namespace std; int n, m, arr[31]..
[백준/c++] 5568번: 카드 놓기
·
알고리즘/백준
https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net n개 중 k개를 선택해야 한다. 이런 문제는 백트래킹으로 하면 된다. 이 문제는 같은 숫자의 카드가 여러 개여도 중복 숫자를 선택할 수 있다. (같은 카드를 중복 선택은 안됨) 그런데, 그 숫자들로 만들어진 정수가 중복되면 안 된다. 만든 정수가 중복되면 안되니까 간단하게 set를 사용할 수 있다. set 꼭 기억하기!!^^ #include #include #include #include using namespace std; int n, k, arr[11]; set num; bool ch[1..
[백준/c++] 2503번: 숫자 야구
·
알고리즘/백준
https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 역시,, 완전 탐색이나 구현, 시뮬레이션은 코드가 길어진다.. 어떻게 하면 좋을지 열심히 머리 굴리다가 다른 사람 코드를 보게 되었다. 아쉽게도 혼자선 풀지 못했지만 어떤 식으로 문제를 풀면 좋을지 생각할 수 있게 되었다. 다음에는 꼭 혼자 풀어봐야지.. 일단, 완전탐색은 쉬우면서도 헷갈리는데 가장 중요한 것은 "머릿속에서 생략된 계산을 표현할 수 있어야 한다"는 것이다. 쉽진 않겠지만 최대한 풀..
녕이
'완전탐색' 태그의 글 목록 (2 Page)