분류 전체보기

문제 https://www.acmicpc.net/problem/5464 5464번: 주차장 시내 주차장은 1부터 N까지 번호가 매겨진 N개의 주차 공간을 가지고 있다. 이 주차장은 매일 아침 모든 주차 공간이 비어 있는 상태에서 영업을 시작하며, 하룻동안 다음과 같은 방식으로 운영 www.acmicpc.net 코드 #include #include #include #include #include #include using namespace std; int main() { int n = 0; int m = 0; int parkingsp[101]={0}; int parkingcst[101]; queue car; vector carwt; cin >> n >> m; for (int i = 0; i > parkin..
https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1
문제 설명 주어진 조건대로 따라가는 문제이다. 차가 들어오면 빈 공간에 주차시키고, 빈 공간이 없다면 대기열에 넣는다. 차가 나간다면 요금을 부과하고 대기열에 있는 차를 주차시킨다. 코드 #include using namespace std; struct park { int cost; bool isPark; }; struct car { int weight; int pnum; }; int N, M, answer; vector parks(101, { 0, false }); vector cars(2001, { 0, 0 }); queue waitlist; // 빈자리 찾거나 없으면 -1 반환 int CheckEmptyPark() { for (int i = 1; i 0) { parks[pnum].isPark = t..
5464번: 주차장 (acmicpc.net) 5464번: 주차장 시내 주차장은 1부터 N까지 번호가 매겨진 N개의 주차 공간을 가지고 있다. 이 주차장은 매일 아침 모든 주차 공간이 비어 있는 상태에서 영업을 시작하며, 하룻동안 다음과 같은 방식으로 운영 www.acmicpc.net 코드 n,m=map(int,input().split()) #주차공간n 차량m Rs=[0] #단위무게당요금 i 번쨰 Wk=[0] #차량의 무게 i 번째 for _ in range(n): Rs.append(int(input())) for _ in range(m): Wk.append(int(input())) I=[] #차 오고가는거 큐 for _ in range(2*m): I.append(int(input())) money=0 #..
문제 https://www.acmicpc.net/problem/1446 풀이 다익스트라로 구현하였다. 0에서 시작하여 d까지 가야 하므로 거리를 모두 노드로 볼 수 있다. for문을 통해 graph를 최소거리가 1로 초기화하고, 최단 거리 테이블을 무한으로 초기화한다. 입력받은 지름길을 graph에 추가한다. (만약 종료지점이 d보다 크다면 추가하지 않는다.) 다익스트라 함수 구현 - 시작 노드로 가기 위한 최단 경로를 0으로 설정하여 큐에 삽입한다. - q가 존재한다면, 가장 최단 거리가 짧은 노드에 대한 정보를 heappop 한다. (dist, now) - dist가 now까지의 최단 거리보다 길다면, continue 한다. - dist가 더 짧다면, 현재 노드의 지름길들을 반복문으로 탐색한다. - ..
문제 https://www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 코드 #include #include #include #include #include using namespace std; int main() { int n = 0; cin >> n; vector arr; int srr[100][2]; int a = 0; for (int i = 0; i > a; arr.push_back(a); } int b = 0; for (int i = 0; i
5972번: 택배 배송 (acmicpc.net) 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) import heapq n,m=map(int,input().split()) #노드1에서 n까지최단거리구하기 #di={} graph=[[] for _ in range(n+1)] for _ in range(m): a,b,c=map(int,input().split()) #a와b를잇는길의비용:c graph[..
문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net Algorithm 1. 7명을 뽑아 합을 조사할 새로운 리스트 선언 2. 만약 7번 재귀를 돌았다면 & 현재 저장된 일곱난쟁이들의 합이 100이라면 오름차순으로 정렬 후 출력 3. 만약 7명을 뽑았는데 합이 100이 아니라면 해당 재귀를 더이상 실행하지 않고 종료 4. 시작인덱스와 9명의 난쟁이가 있으므로 9번을 돈다. 5. 난쟁이 한명을 추가한다. 6. dfs를 돈다(다음번 깊이는 +1로 해주고 인..
[문제] https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net [소스코드] from itertools import permutations N = int(input()) permutation_list = list(permutations(range(1, N+1))) for permutation in permutation_list: print(*permutation) [문제풀이] 1. itertools 모듈에서 permutations 함수를 가져온다. 2. 사용자를 통해 N을 입력받는다. 3. 튜플의 모든 순열을 생성하고 리스트로 변환하여 저장..
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 알고리즘 분류 그래프 이론 데이크스트라 최단 경로 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들..
문제 https://www.acmicpc.net/problem/5972 풀이 택배 배송 문제, 여물을 헛간인 1에서 헛간 N으로 배달하는 것은 여러가지 그래프를 활용하여 풀 수 있다. 그중 가는 길의 길이는 고려하지 않으므로, 다익스트라를 활용하여 풀 수 있다. 입력에 대한 그래프를 구성하는 과정에서, 해당 문제는 간선에 대해 방향을 따지지 않는 무향 그래프 이므로, 입력 시에 양쪽 출력 노드에 대해 값을 추가해주어야 한다. 코드 import heapq INF = int(1e9) N,M = map(int, input().split()) graph = [[] * (N+1) for _ in range(N+1)] distance = [INF] * (N+1) for _ in range(M): a,b,c = ma..
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 ..
KauKoala
'분류 전체보기' 카테고리의 글 목록 (42 Page)