본문 바로가기

전체 글

(118)
백준 9205 : 맥주마시면서 걸어가기 c++ www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 문제 풀이 1. 무사히 도착하면 flag를 1로 하여 happy 출력 2. 시작지부터 dfs 시작 DFS 1) 지금 위치랑 목적지랑 거리가 1000이하면 flag =1 하고 종료 2) for문으로 market들 확인, 방문한거면 재낀다 3) 방문안했어도 거리가 1000넘으면 못가니까 재낀다 4) 방문 가능한 market으로 이동 후 DFS #include #include #include #include u..
백준 15684 : 사다리 조작 C++ www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 문제 설명은 넘나 길어서 생략 풀이 1) 주어진 다리들 다 입력 받고 적용 2) 다리 놓을 수 있는 곳들을 q라는 벡터에 다 저장해 둔다 3) 순열써서 다리 '0개 추가' '1개 추가' '2개 추가' '3개 추가' 각각 실행 4) 다리 추가 후 lets_go() 라는 함수로 원하는 대로 움직이는지 체크! 5) 자기자신으로 잘 도착했다면, flag를 1로 만듬 6) flag가 1일때의 다리 갯수를 출력 후 프로..
백준 13458 : 시험 감독 c++ www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 엄청 얕봤다가 은근히 고생한 문제... 1. result를 long long으로 안둬서 범위초과로 틀리고 2. 아무생각없이 while문 썼다가 시간초과 뜨꼬.. 3. 이런 간단한 문제들도 쫌 다시 풀기 시작해야겠다 4. 난 아직 멀었다 - 처음에 푼 방식 #include #include #include using namespace std; int map[..
백준 10836: 여왕벌 C++ www.acmicpc.net/problem/10836 10836번: 여왕벌 입력의 첫 줄에는 격자칸의 가로와 세로 크기 M(2 ≤ M ≤ 700)과 날짜 수 N(1 ≤ N ≤ 1,000,000)이 자연수로 주어진다. 첫날 아침의 애벌레 크기는 모두 1이므로 입력에 주어지지 않는다. 다음 N개의 �� www.acmicpc.net 1. 처음에 아무생각없이 직관적으로 풀었다가 시간초과가 떠버렸다.... #include #include #include using namespace std; int n, m; // 크기, 날짜 수 int map[701][701]; int map_before[701][701]; int datas[3]; int biggest_growth(int i, int j) { int result..
백준 10040: 투표 c++ www.acmicpc.net/problem/10040 10040번: 투표 입출력 예시에서 경기는 4개, 위원은 3명이 있다. 각 경기를 개최하는데 필요한 비용은 5, 3, 1, 4이다. 위원 1의 심사 기준은 4이다. 비용이 4 이하인 경기 중에서 가장 재미있는 경기는 2이다. 위원 www.acmicpc.net #include #include using namespace std; vectorgames; // 비용, 추천받은 횟수 int main() { int n, m; int price; cin >> n >> m; //경기 수, 위원 수 games.push_back(make_pair(0, 0)); // 0번 안씀 for (int i = 0; i > price; games.p..
백준 1713: 후보 추천하기 c++ www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1≤N≤20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대로 � www.acmicpc.net #include #include #include using namespace std; vectorpicture; // 학생 번호, 추천 수 int n; bool comp(paira, pair b) { return a.first < b.first; } void choose() { int min_count = 987654321; for (int i = 0; i < picture.size(); i++) { m..