본문 바로가기

알고리즘49

Codeforces Round #699 (Div. 2) ABC import sys; input = sys.stdin.readline for TEST in range(int(input())): N, M = map(int, input().split()) res = True cnt = [0 for i in range(4)] for c in input().rstrip(): if c=="R": cnt[0] += 1 if c=="U": cnt[1] += 1 if c=="L": cnt[2] += 1 if c=="D": cnt[3] += 1 if N>=0: if N > cnt[0]: res = False else: if -N > cnt[2]: res = False if M>=0: if M > cnt[1]: res = False else: if -M > cnt[3]: res = F.. 2021. 2. 7.
shake! 2020 참여 IUPC에서 3등을 한 결과로 shake! 2020에 참여하게 되었다. 경인지역 6개대학 연합 프로그래밍 경시대회라고 한다. 아쉽게도 A번 하나밖에 풀지 못했다. A번 독서실 거리두기 20665번: 독서실 거리두기 첫 번째 줄에 독서실 좌석의 개수 N, 독서실 예약자 수 T, 민규가 좋아하는 좌석 번호 P 가 공백으로 구분되어 주어진다. (1 ≤ N ≤ 100, 1 ≤ T ≤ 500, 1 ≤ P ≤ N) 다음 T 개의 줄에는 독서실 입실 www.acmicpc.net 두 번 틀리고 맞았다. A를 두 번 틀린 시점에서 정신적으로 많이 힘들었다. 아무리 쳐다봐도 틀린 이유를 찾지 못해서 C번을 먼저 풀기로 했다. 하지만 C번도 결국 세 번 틀리고 다시 A로 돌아와 보니 해싱 관련 이슈가 보여서 고쳤다. A 정.. 2021. 1. 25.
2020 인하대학교 프로그래밍 경진대회(IUPC) 참여 팀 인덕이 팬클럽으로 참여하여 총 아홉 문제를 풀었다. 대회 직전 예상치 못한 애로사항이 많았지만 아무튼 결과가 좋아서 하루 종일 기분이 좋았다. 내가 푼 문제는 A - 연길이의 이상형 / B - Sort 마스터 배지훈의 후계자 / H - 앨범정리 / K - 인덕이의 고민 이다. A번 연길이의 이상형 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net A번이 매우 쉬워 보이니 빨리 풀라고 해서 빨리 풀었다. B번 Sort 마스터 배지훈의 후계자 20551번: Sort 마스터 배지훈의 후계자 지훈이는 Sort 마스.. 2021. 1. 10.
Good Bye, BOJ 2020! 특별상 을 받아서 기분이 좋다 ㅎㅎ 2020. 12. 31.
연속한 수의 XOR sum ll xorSum(ll n) { int m = n % 4; if (m == 0) return n; if (m == 1) return 1; if (m == 2) return n + 1; return 0; } 1부터 n까지의 수의 XOR sum은 위와 같다. 자세한 내용은 여기에서 볼 수 있다. ll xorSum(ll l, ll r) { return xorSum(l - 1) ^ xorSum(r); } 구간 [L : R] 의 xor 합 역시 같은 두 수를 xor 하면 0이 된다는 사실을 이용하여 구할 수 있다. 2020. 12. 25.
BFS #include using namespace std; typedef long long ll; typedef pair pii; int R, C; int board[100][100]; int dir8[2][8]{ {0, -1, 0, 1, -1, -1, 1, 1}, {1, 0, -1, 0, 1, -1, -1, 1} }; bool dup[100][100]; void bfs(pii init) { int cr, cc, nr, nc; queue que; dup[init.first][init.second] = true; for (que.push(init); !que.empty(); que.pop()) { tie(cr, cc) = que.front(); for (int i = 0; i < 4; ++i) { nr = cr.. 2020. 12. 13.