The Way
백준 온라인 저지(BOJ) 9664번 문제https://www.acmicpc.net/problem/9664 1. 문제 요약재산(금메달)을 N명의 딸들이 분배막내 딸이 최대 1 차이가 나도록 나눈 뒤 그 중 적은 것을 가져가는데(예를 들어서 14개였고 3명이면 5/5/4로 나누고 4를 가져감)가져간 이후 남은 개수를 보고 가능한 원래 개수의 최댓값/최솟값을 맞추기 (cunning daughter인데 왜 적은 거를 가져가는지 잘 모르겠다.. cunning의 뜻은 '교활한'인데..) 2. 알고리즘원래 개수는 하나로 결정되거나 1 차이가 나게 된다남은게 똑같이 분배되지 않을 경우 (ex 5/5/4)으로 남았으면 적은 것을 가져갔으므로 작은 값을 더해준게 원래 값남은게 똑같이 분배될 경우 (ex 5/5/5) 막내..
백준 온라인 저지(BOJ) 4881번 문제https://www.acmicpc.net/problem/4881 1. 문제 요약각 자리수를 제곱하여 더하여 만들어지는 수열이 있다.초기 숫자 두 개가 주어질 때, 같은 숫자가 나올 때까지의 수열의 길이의 합이 가장 작을 때 그 합은 얼마인가? 2. 알고리즘문제에서 두 개의 사이클이 소개되었다.하나는 89, 145, 42, 20, 4, 16, 37, 58이고 하나는 1이다.따로 계산을 해보면 알겠지만 이 두 개의 사이클이 유일한 사이클이다. 따라서 수열이 저 사이클에 포함될 때 까지 계산해준 뒤,서로 다른 사이클이면 불가능같은 사이클일 경우, 첫 도착지점이 같으면 공통 부분을 소거해주고첫 도착지점이 다를 경우 (ex 89, 37처럼 될 경우) 짧은 방향으로 사이클..
백준 온라인 저지(BOJ) 2606번 문제https://www.acmicpc.net/problem/2606 1. 문제 요약컴퓨터 간 연결 정보들이 주어질 때,1번 컴퓨터를 통해 바이러스에 감염되는 컴퓨터의 수를 구하기 2. 알고리즘간단한 형태의 탐색 문제이다.마지막에 합을 더해줄 때 1번 컴퓨터는 제외하고 더해줘야 한다는 점에 주의.여러 효율적인 방법이 있겠지만... 역시 속도가 생명.. 3. 코드 #include #include #include using namespace std; int main() { vector connect[100]; int inf[100] = { 0 }; int N, M; scanf("%d %d", &N, &M); int t1, t2; for (int i = 0; i < M; ..