목록알고리즘/백준 (59)
쌓고 쌓다
https://www.acmicpc.net/problem/2754 2754번: 학점계산 어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 www.acmicpc.net #include using namespace std; int main(void) { string str; cin >> str; double res=0; cout
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net #include #include #include using namespace std; vector v; bool visit[10]; bool solve(int idx, int cnt,int sum) //(현재 인덱스,이제껏 선택한 개수, 이제껏 총합) { if (cnt == 7 && sum == 100) // 조건 부합시 현재 방문한것들 모두 출력 { for (int i = 0; i < 9; i++) if..
https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net #include #include #include using namespace std; map m; int main(void) { cin.tie(0); ios_base::sync_with_stdio(0); cout
https://www.acmicpc.net/problem/7578 7578번: 공장 어떤 공장에는 2N개의 기계가 2열에 걸쳐 N개씩 배치되어 있다. 이 2개의 열을 각각 A열과 B 열이라고 부른다. A열에 있는 N개의 기계는 각각이 B열에 있는 N개의 기계와 하나씩 짝을 이루어 케이블 www.acmicpc.net #include using namespace std; int N; int A[500001]; int B[1000001]; int Tree[500001*4]; long long sum(int node, int start, int end, int left, int right) { // 도착점+1부터 끝까지 케이블 몇개 교차되는지 확인해주기 if (endright) return 0; if (left..
https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net #include #include using namespace std; int N; int max_pos, max_h; // 최대 높이의 위치와 높이 int arr[1001]; int res = 0 int main(void) { int L, H; cin >> N; for (int i = 0; i > L >> H; arr[L] = H; if (max_h ..
https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net #include #include using namespace std; map m; int N,M; int num; int main(void) { cin >> N >> M; for (int i = 0; i > num; if (m[num] == true) // 이미 존재하면 map에서 제거를 한다. m.erase(num); else // 존재 안하면 추가를 해준..
https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net #include #include using namespace std; int main(void) { int N, M; long long int res = 0; priority_queue pq; cin >> N >> M; for (int i = 0; i > num; pq.push(num); } for (int i =..
https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net #include #include #include #include using namespace std; vector v; deque dq; int N, L; int main(void) { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); int num; cin >> N >> L; for (int i = 0; i < N;..