백준 14

[백준] 1100번: 강의실 배정 - C++

문제 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 설명 #include #include #include #include using namespace std; int N, answer; vector classTime; // 가장 작은 값이 우선순위가 되는 큐 priority_queue mypq; int greedy() { mypq.push(classTime[0].second); for(int i = 1; iclassTime[i].first) mypq.push(classTime[i].seco..

카테고리 없음 2022.05.10

[백준] 23061번 : 백남이의 여행 준비 - C++

문제 https://www.acmicpc.net/problem/23061 23061번: 백남이의 여행 준비 1번 배낭이 담을 수 있는 무게는 20이고, 담을 수 있는 최대 가치는 34이므로 효율성은 1.7이다. 2번 배낭이 담을 수 있는 무게는 21이고, 담을 수 있는 최대 가치는 37이므로 효율성은 약 1.76이다. 3 www.acmicpc.net 코드 #include #include #include #include using namespace std; pair things[101]; int bags[101]; double h[101]; int N, M; int W = 0; int V = 0; int value[101][1000001]; void dp(int bagW) { //memset(value, ..

[백준] 23057번 : 도전 숫자왕 - C++

문제 https://www.acmicpc.net/problem/23057 23057번: 도전 숫자왕 모든 카드에 적힌 수의 합을 $M$이라고 할 때, 1 이상 $M$ 이하의 자연수 중 만들 수 없는 수의 개수를 출력한다. www.acmicpc.net 설명 #include #include #include #include using namespace std; int card[21]; vector vec; int sum=0; int N; void DFS(int i, int num) { vec.push_back(num); if(i == N) return; DFS(i+1,num+card[i+1]); DFS(i+1,num); } int main() { cin>>N; for(int i = 0;i> card[i]; s..

[백준] 1181번: 단어정렬 - C++

문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 설명 #include #include #include #include #include using namespace std; bool compare(string a, string b) { if(a.size()==b.size()) { return aN; for(int i = 0; i>tmp; words.push_back(tmp); } sort(words.begin(), words.en..

[백준] 2667번: 단지번호붙이기(BFS) - C++

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #include #include #include #include using namespace std; int N; int map[25][25]; bool visited[25][25]; int dir[4][2]={{-1,0},{1,0},{0,1},{0,-1}}; queue q; vector v; void reset() { for(int i=0;iN; reset(); for(int i=0;i>s; fo..

[백준] 1012번: 유기농 배추(DFS) - C++

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include using namespace std; int M,N,K; int map[50][50]; bool visited[50][50]; int dir[4][2] = {{1,0},{-1,0},{0,-1},{0,1}}; void reset() { for(int y = 0;y>T; for(int i = 0 ;i> M >> N >> K; reset(); for(int k = 0;k>x>>y; ..

[백준] 1012번: 유기농 배추(BFS) - C++

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include using namespace std; int M,N,K; int map[50][50]; bool visited[50][50]; queue q; int dir[4][2] = {{1,0},{-1,0},{0,-1},{0,1}}; void reset(int M, int N) { for(int y=0; y < N;y++) for(int x = 0;x < M;x++) { map[y][x]..

[백준] 2869번 : 달팽이는 올라가고 싶다 - Swift

문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 코드 import Foundation var input = readLine()!.components(separatedBy: " ") let numA = Double(input[0])! let numB = Double(input[1])! let numV = Double(input[2])! var n = (numV - numA)/(numA-numB)+1 if n.truncatingRemainder(dividingBy: 1) != 0 {n = n/1 + ..

[백준] 9012번 : 괄호 - C++

문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열..

[백준] 2775번 : 부녀회장이 될테야 - C++

문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. #include using namespace std; int(* hwMny(void))[14] { stati..

반응형