목록생활 (730)
No Rules Rules
치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int N, M, arr[51][51], ans; bool visit[13]; vector all_chicken_stores; pair chicken_stores[13]; int get_chi..
부분수열의 합 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int N, S, arr[20], ans; bool visit[20]; void dfs(register int idx, register int sum){ if(idx > 0 && sum == S) ++ans; for(reg..
로또 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #define MAX_CNT 6 using namespace std; int K, S[13], arr[MAX_CNT]; bool visit[13]; void dfs(register int idx, register int cnt){ if(cnt == MAX_CNT){ for(register in..
요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 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, K; bool arr[5001]{false}; queue ans; cin >> N >> K; for(register int n = 1; n
중복 빼고 정렬하기 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 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; set ans; cin >> N; for(register int n = 0, v; n > v, ans.inser..
보물 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, ans = 0; priority_queue A; priority_queue B; c..
새로운 게임 https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include #include using namespace std; struct Horse{ int x; int y; int d; }; int N, K, dx[4], dy[4], arr[13][13]; deque maps[13][13]; vecto..
색종이 붙이기 https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int ans, have_papers[6]; int arr[10][10]; bool check(register int x, register int y, register int c){ if(x + c > 10 || y + c > 10 ..
캐슬 디펜스 https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include #include #include using namespace std; int N, M, D, ans, tmp[16][16], arr[16][16], hunters[3]; bool visit[16]; int attack(){ memcpy(tmp, arr, siz..
꼬마 정민 https://www.acmicpc.net/problem/11382 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); unsigned long long A, B, C; cin >> A >> B >> C; cout