최신 글
-
백준 21940 가운데에서 만나기
준형이와 친구들의 왕복시간들 중 최대가 최소가 되는 값을 찾아야 하는데, 이 문항을 대충 읽어서 tc를 이해를 못하고 헤맸다... 플로이드 돌리고 도시 마다 친구 목록 돌면서 왕복시간의 최대값 기준으로 최솟값을 찾으면 된다. 예전에는 별 생각 없었는데, 자바스크립트를 많이 하다 보니 ps할 때 나의 c++ 코드는 참 더럽다. #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, ..
2022.03.22 02:46 -
백준 21938 영상처리 혼내주기
픽셀마다 rgb 값을 읽어서 평균을 낸 뒤 T값을 기준으로 connectivity를 판별해 bfs를 돌리면 된다. 뭔가 귀찮음! #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; int arr[1005][1005]; bool visited[1005][1005]; int n, m, T; void input() { cin >> n >> m;..
2022.03.22 02:42 -
백준 21937 작업 혼내주기
위상정렬 느낌이지만 갯수만 세면 된다. 작업 X에서 역방향으로 dfs를 돌리고 만나는 노드의 갯수를 세면 끝. #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; vector adj[100005]; bool visited[100005]; int n, m, src; void input() { cin >> n >> m; for(int i = ..
2022.03.22 02:39 -
백준 21939 문제 추천 시스템 Version 1 혼내주기
난이도가 100까지 밖에 없는 점을 이용해서 100개의 오름차순 우선순위 큐와 내림차순 우선순위 큐를 만든다. add: 오름/내림 차순 우큐에 값을 넣고 해당 문제 번호의 난이도를 기록한다. solved: 해당 문제 번호의 난이도를 초기화한다. recommend: 1인 경우, 높은 난이도 우큐부터 뒤지면서 유효한 문제 번호를 찾는다. 유요하지 않은 경우는 기록된 난이도의 값이 0으로 초기화 되어있거나 해당 난이도와 (아래 코드의 경우 j) 기록된 난이도가 다른 경우이다. 풀이를 좀 더 꼼꼼하게 생각하자... #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pi..
2022.03.15 02:04 -
백준 21924 도시 건설 혼내주기
무난한 mst 문제 인데... 모든 건물이 연결되어있는 경우는 parent의 값으로 판별하려고 코드 수정하다가 삽질했다... 원인은 pu pv의 부모값 비교하는 곳에서 swap을 안하고 pu에 pv값만 넣고 있었다........... 사람들이 ps 안하다가 다시 하면 재활이라고 하는데 진짜 정확한 표현인듯. #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, ..
2022.03.03 02:20 -
백준 21923 곡예 비행 혼내주기
오랜만에 푸는 dp! 대부분 dp는 탑다운으로 푸는데 원래 바텀업에 비해 느리기도 하고 이 문제는 예외처리도 해줘야해서 마음에 안든다... #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; int arr[1005][1005], cache[1005][1005][2]; int n, m; void input() { cin >> n >> m; ..
2022.03.03 02:15 -
백준 21922 학부 연구생 민상 혼내주기
오랜만에 구현 문제를 푸니까 엄청 귀찮고 잔실수도 많았다... 모든 에어컨을 큐에 넣고 조건에 맞도록 bfs를 돌리면 된다. 구현은 언제 물 흐르듯 할 수 있을가... #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; int arr[2002][2002]; int n, m, ans = 0; vector acs; bool visited[20..
2022.02.28 00:58 -
백준 21921 블로그 혼내주기
ps 재활 시작... 연속된 X일 동안 최대값, 그리고 그 빈도를 구하면 되는 문제이다. 근데 원래 누적합이 실버 3이었나?.. 계산을 잘못해서 배열에 값을 다 못넣을 줄 알았는데, 괜히 큐로 풀었다. #include #define fastio ios::sync_with_stdio(0), cin.tie(0) using namespace std; using ll = long long; using pii = pair; #define all(v) v.begin(), v.end() int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; int n, x, maxVisitors = 0, days = 0, num, psum =..
2022.02.28 00:55