목록생활 (730)
No Rules Rules
마인크래프트 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; struct cmp{ bool operator()(const pair& v1, const pair& v2) const{ if(v1.first == v2.first) return v1.second < v2.sec..
암호 만들기 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int L, C; char arr[15]; bool visit[15]; set ans; void dfs(string str, register int idx){ if(str.size() == L) { register i..
수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N = 0; register long long S, ans = 0; cin >> S; while(1){ if(ans == S) break; else if(ans > S){ --N; break; } else ans += ++N; } cout
달이 차오른다, 가자. https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; int N, M, dx[4], dy[4]; char arr[51][51]; bool visit[51][51][1
적록색약 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int N, dx[4], dy[4]; char arr[101][101]; bool visit[101][101]; int bfs1(){ // 적록색약이 아닌 사람 register int ans = 0; mems..
특정 거리의 도시 찾기 https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; int check[300001]; set arr[300001], ans; int main(){ ios::sync_with_stdio(false)..
스도쿠 https://www.acmicpc.net/problem/2239 2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; char arr[9][9]; bool row[9][10], column[9][10], rect[9][10]; void dfs(register int cnt){ register int x = cnt / 9, y = cnt % 9; if(cnt =..
선선해진 요즘, 가을이 다가왔음을 느낍니다. 가을하면 전어! 거기에 대하까지 맛있게 먹고 왔습니다. 대학생 시절, 선배들과 대천해수욕장을 가곤 했었습니다. 그때의 추억이 생각나 급하게 숙소를 알아보고 계획없이 떠났습니다. 학생일때는 돈이 없어서 못먹었던 전어는 사회 초년생일때 처음 먹었던 기억이 납니다. 전어 3종세트라는 말도 그때 처음 들었습니다 (구이 + 회 + 무침). 바닷가에서 나고 자랐지만 아이러니하게도 회를 그다지 좋아하진 않습니다. 하지만 구이와 무침은 없어서 못먹죠. 대천항 수산시장에 가보면 정말 많은 횟집들이 있습니다. 1층에서는 해산물을 구매할수 있고, 2층으로 올라가면 즉석으로 식사가 가능합니다. (차림비가 별도고 각종 요리들도 가격이 별도로 존재합니다.) 사실 60호점이 넘는 횟집 ..
말이 되고픈 원숭이 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include using namespace std; int K, W, H, dx[4], dy[4], hx[8], hy[8], arr[201][201]; int visit[201][201][31]; int bfs(registe..
출석 이벤트 https://www.acmicpc.net/problem/25704 25704번: 출석 이벤트 쇼핑몰에서 30일간 출석 이벤트를 진행한다. 쇼핑몰의 사이트를 방문하면 1일 1회 출석 도장을 받을 수 있고, 출석 도장을 여러 개 모아서 할인 쿠폰으로 교환할 수 있다. 출석 도장의 개수에 따 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, P, ans, arr[4]{0}; cin >> N >> P; if(N >= 5) arr[0] = 500; if..