목록생활 (730)
No Rules Rules
유럽여행 https://www.acmicpc.net/problem/1185 1185번: 유럽여행 첫 줄에는 방문할 나라의 수 N(5 ≤ N ≤ 10,000)과 이 나라들 사이를 연결하는 길의 수 P(N-1 ≤ P ≤ 100,000)가 주어진다. 두 번째 줄에는 N+1번째 줄까지 i+1번째 줄에는 i번째 나라를 방문할 때 드는 비 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; short N, COST[10001]; int P; vector arr[10001]; // 다음 나라, 왕복 비용 bool visit[10001]{false}; priority_..
정복자 https://www.acmicpc.net/problem/14950 14950번: 정복자 서강 나라는 N개의 도시와 M개의 도로로 이루어졌다. 모든 도시의 쌍에는 그 도시를 연결하는 도로로 구성된 경로가 있다. 각 도로는 양방향 도로이며, 각 도로는 사용하는데 필요한 비용이 존재 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; vector arr[10001]; // 다음 도로, 두 도로간 비용 bool visit[10001]{false}; priority_queue q; // 두 도로간 비용, 다음 도로 int ans = 0; void func..
전기가 부족해 https://www.acmicpc.net/problem/10423 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; vector arr[1001]; // 다음 도시, 비용 bool visit[1001]{false}; priority_queue q; // 비용, 다음 도시 int ma..
빙고 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; pair arr[26]; bool chk[6][6]; bool check(){ register int cnt = 0, ans = 0; // (1,1)에서 (5,5) 대각선 빙고 여부 for(register int i = 1; i
증가 배열 만들기 https://www.acmicpc.net/problem/27648 27648번: 증가 배열 만들기 첫째 줄에 $N$, $M$, $K$가 주어진다. $\left(1 \le N , M \le 1\,000,1 \le K \le 100\,000 \right)$ www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, M, K; cin >> N >> M >> K; if(N + M >= K + 2) cout
행성 터널 https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; struct Star{ int number; int x; int y; int z; }; int N; vector stars, stars_x, stars_y, star..
별자리 만들기 https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include #include using namespace std; struct Star{ double x; double y; }; Star stars[101]; int N; vector arr[101]; priority_queue q; bool ..
도시 분할 계획 https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; bool visit[100001]; vector arr[100001]; priority_queue q; int main(){ ios::sync_with_s..
네트워크 연결 https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; bool visit[1001]; vector arr[1001]; priority_queue q; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, M, ans = 0; cin >> N >> M; memset..
최소 스패닝 트리 https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; set arr[10001]; bool visit[10001]{false}; priority_queue q; // 간선값, 도착점 long lon..