PS 55

[백준] 2041 숫자채우기

2041번: 숫자채우기 N×M 크기의 격자에 적절히 수를 채우려 한다. 단, 인접한 수들의 차이로 1부터 (2NM-N-M)까지의 수가 한 번씩 나오도록 채우려 한다. N=2, M=2인 경우를 예로 들면 다음과 같은 방법이 있다. 위와 같 www.acmicpc.net 요즘 여기저기서 많이 보이는 문제이다. 다이아문제인데, 애드혹과 구성적 태그가 달려있길래 나도 도전해 보았다. 처음으로 푼 다이아 문제인데, 혼자 풀어내서 정말 행복하다 ㅎㅎ! 문제를 이해하는 것은 어렵지 않다. 인접한 원소의 차이가 1부터 2NM-N-M까지 모두 나오는 행렬을 만들면 된다. 두 개의 풀이가 있다. 첫 번째 풀이는 나의 풀이고 두 번째 풀이는 동기 meque98의 풀이이다. 두 풀이 모두 4칸씩 볼 때, 차이 2개를 정해주면 ..

PS/백준 2022.03.03

Codeforces Round #772 (Div. 2)

다시 민트로 올라왔다! 오늘 무려 31분 만에 3솔을 했다 ㄷㄷ; 그리고 D번 문제도 방향이 크게 다르지 않은 것 같아서 기분이 좋다. 3솔한 직후에는 무려 퍼플 퍼포가 떴었다 ㅋㅋ 너무 신나서 찍어놨다 ㅋㅋ 요즘엔 버츄얼 포함해서 2솔하는 날보다 3솔하는 날이 더 많아진 것 같다! 실력이 늘은 건가? 다시는 그린으로 가고 싶지 않다! A. 수열의 두 원소 ai와 aj를 x와 y로 바꿀 수 있다. (횟수 제한 X) 단, ai | aj == x | y 여야 한다. 결과적으로 수열의 모든 원소의 합을 최소가 되게 해야 한다. or 연산의 특성상 2진수의 1은 없앨 수 없다. 이걸 통해서 잘 생각해보면 답은 a1부터 an까지 or 연산한 값이다. 더보기 #include #define endl '\n' #def..

PS/Codeforces 2022.02.21

[백준] 2325 개코전쟁, 2307 도로검문 (C++)

99% 똑같은 문제다. 이 글은 2325 개코전쟁을 기준으로 서술하였다. 문제를 풀고, 글을 읽으면 좋을 것 같다. 2325번: 개코전쟁 “앙두레 강”이 개미와 코끼리 결혼식에서 기차를 아름답게 만드는 것을 실패했기 때문에 식장이 아수라장이 되고 결혼이 물거품이 되어버렸다. 급기야는 왕국 간에 분쟁으로 이어져 개미왕 www.acmicpc.net 2307번: 도로검문 그림 1은 어떤 도시의 주요 지점과 그 지점들 간의 이동시간을 나타낸 그래프이다. 그래프의 노드는 주요 지점을 나타내고 두 지점을 연결한 도로(에지)에 표시된 수는 그 도로로 이동할 때 걸 www.acmicpc.net 문제를 요약해보자. 1번 -> N번으로 가는 최단거리가 최대가 되도록 길을 하나 없애야 한다. 그런 식으로 길을 하나 없앤 후..

PS/백준 2022.02.13

[백준] 1671 상어의 저녁식사 (C++)

신촌연합 중급반 연습문제로 풀다가 푼 문제. 1671번: 상어의 저녁식사 어떤 상어는 저녁식사로 서로를 먹는다. 모든 상어는 자신과 다른 상어의 크기, 속도, 지능을 수치로 나타낸 것을 알고 있다. 만약, 상어 A의 크기, 속도, 지능이 상어 B의 크기, 속도, 지능보다 크 www.acmicpc.net 문제 요약) N마리의 상어가 있다. N마리의 상어는 크기, 속도, 지능이 있다. 이 세 개 모두 다른 상어보다 크거나 같으면 다른 상어를 먹을 수 있다. 각 상어는 최대 2마리까지 먹을 수 있다. 남아있는 상어가 최소가 되게 먹었을 때, 남아있는 상어의 수는? 1. 상어가 다른 상어를 먹는다... 각 상어가 최대 2마리까지 먹을 수 있음... 최대한 많이 먹어야 함... 2. 이거 어디서 본 상황이다. 플..

PS/백준 2022.02.12

[백준] 1017 소수 쌍 (C++)

오늘 학교에서 풀어서 맘에 드는 문제. 1017번: 소수 쌍 지민이는 수의 리스트가 있을 때, 이를 짝지어 각 쌍의 합이 소수가 되게 하려고 한다. 예를 들어, {1, 4, 7, 10, 11, 12}가 있다고 하자. 지민이는 다음과 같이 짝지을 수 있다. 1 + 4 = 5, 7 + 10 = 17, 11 + www.acmicpc.net 1. 크기가 짝수인 배열이 주어진다. (배열의 원소는 서로 다르다.) 남는 거 없이 2개씩 짝지어야 한다. 각 짝의 합은 소수가 되어야 한다. 2. 어떻게 두 개를 짝지을 수 있을까? 서로 다른 두 수를 더해서 소수가 되는 경우를 살펴보자. - 짝수끼리 더하면 무조건 짝수니까 소수가 나올 수 없다. - 홀수끼리 더하면 무조건 짝수니까 소수가 나올 수 없다. (1+1은 소수지..

PS/백준 2022.02.10

[백준] 열혈강호 시리즈 (C++)

최근에 신촌 연합 중급반에서 flow에 대해 배웠다. 나에게는 어려워서 거의 이해하지 못한 상태로 수업이 끝났다. 최근 며칠 동안 영상도 다시 보고, 종만북을 한 번 읽었더니 좀 감이 잡힌 것 같다. 그래서 야심한 새벽에 강의 연습문제에 있는 열혈강호 시리즈를 풀어보았다. 플래티넘 막 푸니까 정말 재미있는 듯? ㄹㅇㅋㅋ 열혈강호 문제가 1~6까지 있더라. 1. boj.kr/11375 2. boj.kr/11376 3. boj.kr/11377 4. boj.kr/11378 5. boj.kr/11408 6. boj.kr/11409 일단 방금 1, 2, 3을 풀었기 때문에 간단하게 풀이(그래프 모델링방법?)를 남겨보려고 한다. 조만간 시간이 나면 열혈강호 4, 5, 6도 풀어보아야겠다. (업뎃 예정) (2/8 열..

PS/알고리즘 2022.02.08

Codeforces Round #770 (Div. 2)

오늘 AI가 코포에 참여한다고 들어서 긴장되는(?) 마음으로 코포에 참여했다. 근데 오늘 참여 안 했다고 한다ㅠㅠ. 민트에 올라온 후 첫 코포였다. 저번에 민트를 찍고 뭔가 떨어질 것 같았다. 그래서 부캐를 파서 한 번 돌렸었다. 근데 djs100201가 뭔 민트 박제냐고 그냥 박으라해서 박았다. 다행히 오늘도 3솔로 민트를 유지할 수 있게 되었다! 아니 심지어 점수가 많이 오른다. ㄷㄷ 최근 학회 버츄얼 스터디를 포함하여 3연 3솔에 성공했다. 기분이 되게 좋다. 오예. 아 그리고 최근에 학교선배 블로그(https://rebro.kr/72)에서 이런 팁을 봤었는데, 이거 덕분에 오늘 안 말리고 잘 볼 수 있었던 것 같다! 감사합니다~ B넘기고 C먼저 푼 게 아주 좋았다. A. 우선 당연하게도 k가 0이..

PS/Codeforces 2022.02.07

Codeforces Round #768 (Div. 2)

썸네일의 민트 돈가스를 보고 아실 분들은 아셨겠지만.. 저 민트 갔어요! 오예 사실 주위에 고수들이 많아서 그동안 민트를 좀 만만하게 봤다. (내 주위에 코포하는 사람들은 대부분 블루 이상이라서...) 보시다시피 민트 바로 앞에서 쭉 떨어지고 다시 고생을 좀 했습니다 ㅠㅠ 턱걸이로 찍은 거긴 하지만,,, 기분이 매우 좋다! 암튼 최근 3번이나 후기글을 안 썼는데, 오늘 민트 간 기념으로 간만에 쓴다 ㅎㅎ. A. 같은 크기의 수열 a와 수열 b가 주어진다. idx가 같은 a의 원소와 b의 원소를 원하는 만큼 swap할 수 있다. max(a1,a2,…,an)⋅max(b1,b2,…,bn) 이거의 최솟값을 구하는 게 문제다. 1부터 n까지 순회하면서 각 ai, bi에 대해서 ai>=bi가 되게 swap작업을 해..

PS/Codeforces 2022.01.28

Good Bye 2021: 2022 is NEAR

Good Bye 2021! 2021년 마지막 코포였다. 무려 61점이나 떨구면서 마무리했다. A, B를 맞추고 C를 못 풀었는데, 시스텟에서 B가 터져버리는 바람에 망해버렸다. 코포를 시작하고 첫 1솔이다 ㄷㄷ; 암튼 어제 코포 사이트 점검 때문에 오늘 B와 C를 업솔빙했다. A. 양수든 음수든 바꾸면 같아지니까 절댓값을 취해서 같이 세었다. 0일 때는 조심해야 한다. 더보기 #include #define endl '\n' using namespace std; using ll = long long; ll n, k; void solve() { cin >> n; vector chk(101, 0); for (ll i = 1; i > k; chk[abs(k)]++; } ll ans = 0; for (ll i =..

PS/Codeforces 2021.12.31

Codeforces Round #763 (Div. 2)

오늘도 코포가 있어서 응시했다. ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ 지난 2번의 contest에서 16점을 올렸다. 그리고 오늘 41점을 까먹었다ㅠ. 어렵다... 우선 A, B를 푸는 데 많은 시간이 걸린다. 그러다 보니 C번에 쓸 시간이 많이 없고, C번도 못 푼다. ㅠ 암튼 최근에 오기가 생겨서 코포에 많은 시간을 투자해보려고 한다. 최소 2일에 한 번 응시하려고 한다. 하루는 업솔빙해야 하니까... 생각해보니 노력도 안하고 점수가 올라가길 바랐던 것 같다. 실력이 오르면 점수는 따라오겠지.. ㅎㅇㅌ A. 나만 그런건지 모르겠는데 시작하자마자 코포가 터졌다. A번 문제가 열리질 않았다. 한 4분 정도를 날린 것 같다. 목적지가 있는 행과 열을 기준으로 1, 2, 3, 4 사분면으로 나누어 풀었다..

PS/Codeforces 2021.12.29