본문 바로가기

알고리즘52

[백준 9658] 알고리즘 one one nine일차 : 돌 게임4 https://www.acmicpc.net/problem/9658 9658번: 돌 게임 4 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net C++ 게임이론 돌게임 3와 같은 듯 다른 문제 다른 부분은 바로 이번엔 마지막에 돌을 가져가는 사람이 지게 된다는 것 이것도 똑같이 1,3,4개씩 가져갈 수 있기 때문에 돌 개수에 따라 7묶음으로 나뉜다. 소스코드 #include using namespace std; int main(){ //input int N; cin >> N; //process & output if ( N % 7 == 1 || N % 7 == 3){ cout 2021. 8. 11.
[백준 9659] 알고리즘 117일차 : 돌 게임 5 https://www.acmicpc.net/problem/9659 9659번: 돌 게임 5 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000) www.acmicpc.net C++ 게임이론 재미있는 게임이긴 하다. 돌의 개수가 주어지는 순간 게임이 끝나버리는 그런 게임. 접근방법 짝수와 홀수의 합의 관계에 대해서 생각해보면 한줄이면 끝날 코드이다. 짝수는 짝수끼리의 합 혹은 홀수끼리의 합으로 이루어진다는 것만 알면된다. 실버2 박탈! 소스코드 #include using namespace std; int main(){ long long N; cin >> N; cout 2021. 8. 9.
[백준 11437] 알고리즘 115일차 : LCA https://www.acmicpc.net/problem/11437 11437번: LCA 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net C++ BFS 그래프에서 최소 공통 조상 찾는 문제이다. LCA 알고리즘은 기본틀이 있는 것 같아서 로직 힌트를 얻고 풀기 시작했다. 공책에 미리 로직 정리하고 코드 쓰면 좋은 점 : 정신적 스트레스가 적음 (?) 접근방법 필요한 자료구조 - 그래프 연결정보를 담고 있는 인접 리스트 - 노드 방문 정보를 담고 있는 배열 - bfs 큐 - 노드의 부모노드 정보를 담고있는 배열 - 노드의 깊이를.. 2021. 8. 5.
[백준 3273] 알고리즘 114일차 : 두 수의 합 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net C++ 투포인터 합이 X인 두 수의 개수를 구하는 문제 접근방법 우선 오름차순 정렬 두 포인터를 양끝에 두고 시작하여 두 수의 합이 X보다 크면 끝점을 한 칸 앞으로 X보다 작으면 시작점을 한 칸 뒤로 X이면 cnt를 1 증가시키고 시작점은 한칸 뒤로 끝점은 한칸 앞으로 오답노트 처음엔 두개의 포인터를 0,1번째에 두고 시작해서 무한루프에 빠.. 2021. 8. 4.
[SWEA 1868] 알고리즘 113일차 : 파핑파핑 지뢰찾기 보호되어 있는 글 입니다. 2021. 8. 3.
반응형