목록생활/코테 (670)
No Rules Rules
도시 건설 https://www.acmicpc.net/problem/21924 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; bool visit[100001]{false}; vector arr[100001]; pri..
물대기 https://www.acmicpc.net/problem/1368 1368번: 물대기 첫 줄에는 논의 수 N(1 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄에는 i번째 논에 우물을 팔 때 드는 비용 Wi(1 ≤ Wi ≤ 100,000)가 순서대로 들어온다. 다음 N개의 줄에 대해서는 각 줄에 N개의 수가 들어 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; bool visit[301]{false}; vector arr[301]; // 다음 논, 비용 priority_queue q; // 비용, 다음 논 int main() {..
MST 게임 https://www.acmicpc.net/problem/16202 16202번: MST 게임 첫 턴에 찾을 수 있는 MST는 총 5개의 간선 {(1, 3), (1, 2), (2, 4), (4, 6), (4, 5)}로 이루어져 있고, 비용은 16이다. 두 번째 턴에는 첫 턴에서 구한 MST에서 간선의 비용이 최소인 (2, 4)를 제거한 후 남아있 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include #include using namespace std; bool visit[1001]{false}; vector arr[1001]; priority_queue q; voi..
합금 주화 https://www.acmicpc.net/problem/27963 27963번: 합금 주화 첫 번째 줄에 0보다 크고 100보다 작은 세 정수 $d_1$, $d_2$, $\chi$가 공백으로 구분되어 주어진다. 서로 다른 두 정수 $d_1$, $d_2$는 기념주화를 이루는 두 가지 금속의 밀도이다. 단위는 $\text{g}/\text{cm} www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(NULL); register int D1, D2, X; cin >> D1 >> D2 >> X; printf("%..
오렌지먹은지오랜지 https://www.acmicpc.net/problem/27962 27962번: 오렌지먹은지오랜지 오렌지를 먹은 지 오래된 선생님은 부족한 비타민C를 문자열 문제를 통해 보충하려고 한다. "오렌지 먹은 지 오랜지"의 "오렌지", "오랜지"와 같이, 길이가 동일하며 각각 맨 앞, 맨 뒤 문자를 포 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(NULL); register int N; string str, front, rear; cin >> N >> str; for(int id..
사격 내기 https://www.acmicpc.net/problem/27960 27960번: 사격 내기 A, B, C는 올해에도 예비군 훈련을 받으러 간다. 이번 예비군 훈련 과정 중에는 영점 사격이 있으며, 10개의 과녁 각각에 점수를 매겨 맞춘 과녁 점수의 총합을 측정한다. 과녁을 맞혔을 때, 과녁별 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(NULL); register int A, B, C; cin >> A >> B; bitset bitA(A), bitB(B), bitC(0); boo..
장난감 조립 https://www.acmicpc.net/problem/2637 2637번: 장난감 조립 첫째 줄에는 자연수 N(3 ≤ N ≤ 100)이 주어지는데, 1부터 N-1까지는 기본 부품이나 중간 부품의 번호를 나타내고, N은 완제품의 번호를 나타낸다. 그리고 그 다음 줄에는 자연수 M(3 ≤ M ≤ 100)이 주 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; vector arr[101]; int check[101]{0}; int cnt[101]{0}; int main() { ios::sync_with_stdio(false),..
고양이는 많을수록 좋다 https://www.acmicpc.net/problem/27961 27961번: 고양이는 많을수록 좋다 올바른 행동 순서가 될 수 있는 하나의 예시는 아래와 같으며, $4$번보다 더 작은 행동 횟수로 $6$마리의 고양이를 마도카의 집에 들이는 것은 불가능하다. 초기 상태($0$마리) $\rightarrow$ 생성 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(NULL); long long N, ans = 0; cin >> N; if(N
소음 https://www.acmicpc.net/problem/2935 2935번: 소음 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; string multiply(string num1, string num2){ int n = num1.size(); int m = num2.size(); string ans(n + m, '0'); for(auto i = n - 1; i>=0; --i..
숫자고르기 https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; int arr[101]{0}; bool visit[101]{false}; set ans; void dfs(register int i, register int j){ if(visit[j]){ if(i == j) ans...