자기개발👨‍💻 142

최소신장트리 문제 리스트

집합의표현 - 서로소집합 기본문제 https://www.acmicpc.net/problem/1717 바이러스 - 서로소집합 그래프 적용 기본문제 https://www.acmicpc.net/problem/2606 상근이의 여행 - 크루스칼 개념문제 - 1분만에 풀 수 있음... https://www.acmicpc.net/problem/9372 최소 스패닝 트리 - 크루스칼 기본문제 https://www.acmicpc.net/problem/1197 별자리 만들기 https://www.acmicpc.net/problem/4386 우주신과의 교감 https://www.acmicpc.net/problem/1774 행성 터널 https://www.acmicpc.net/problem/2887 기본문제 - 집합의 표현..

[C++] 백준 1504 특정한 최단경로

https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net #include #include #include #include using namespace std; #define INF 1e9+7 //typedef pair p; #define p pair int N, E; // (2 ≤정점N ≤ 800, 0 ≤간선E ≤ 200,000) int v1, v2; // 꼭 거쳐야 하는 정점 vector graph[801]..

[C++] 백준 1969 DNA

https://www.acmicpc.net/problem/1969 1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net #include #include #include using namespace std; int n, m; char c[1000][50]; char dna[4]={'A','C','G','T'}; int tmp[4]; int result = 0; int main(){ cin >> n >> m; for (int i=0;i c[i][j]; } } for (int..

[C++] 백준 1182 부분수열의 합

https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net #include using namespace std; int n,s; int arr[30]; int cnt; void func(int cur, int tot){ if(cur == n) { if(tot == s){ cnt++; } return ; } func(cur+1, tot); func(cur+1, tot + arr[cur]); } int main(void) ..

[C++] 백준 1436 영화감독 숌

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net #include #include using namespace std; int main(){ int inp; cin>>inp; int cnt = 0; string itos; int some = 666; if (inp ==1){ cout

[C++] 백준 1018 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net #include #include #include using namespace std; // 검은색 먼저 흰색 먼저 int arr[55][55], board1[8][8], board2[8][8]; int main(){ int n,m, result = 64; int chk1=0, chk2=0; cin >> n>> m; for(int i=0;i>s; for(int j=0;j

[C++] 백준 11279최대힙, 1927최소힙

- 최대힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net #include #include using namespace std; int main(){ cin.tie(0); cin.sync_with_stdio(0); int n, inp; cin >> n; priority_queue h; while(n--){ cin >> inp; if (inp == 0){ if (h.empty()){ cout