www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 아주 열심히 구현하면 되는 문제였습니다. 로봇의 위치가 주어지고, 각 로봇별 움직임이 주어졌을 때, 해당 로봇이 충돌하냐 안 하냐 구하는 문제입니다. 로봇이 충돌하는 경우는 아래의 2가지 경우입니다. 1. 벽에 부딛힌다. 2. 다른 로봇에 부딛힌다. 1번 경우 : 로봇이 F 명령을 받았을 때 맵을 벗어나면 그렇습니다. 2번 경우 : 로봇이 F 명령을 받았을 때 맵에 다른 로봇이 있을 때 ..
www.acmicpc.net/problem/1041 1041번: 주사위 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수 www.acmicpc.net 그냥 파이썬으로 간단한 문제가 풀고 싶어 푼 문제입니다. 정답률은 낮지만 어렵지는 않은 문제입니다. 같은 주사위 n^3 개를 쌓아 큰 주사위의 5면의 합을 최소로 만드는 문제입니다. n이 1,000,000 이하이므로, 모든 경우를 다 돌면 시간초과입니다. 그리고 모두 같은 주사위라는 좋은 조건이 있기 때문에 그냥 최소가 되는 애들로 다 더해주면 됩니다. 최소가 되기 위해서는 다음의 경우를..
www.acmicpc.net/problem/17435 17435번: 합성함수와 쿼리 함수 f : {1, 2, ..., m}→{1, 2, ..., m}이 있다. 이때 fn : {1, 2, ..., m}→{1, 2, ..., m}을 다음과 같이 정의하자. f1(x) = f(x) fn+1(x) = f(fn(x)) 예를 들어 f4(1) = f(f(f(f(1))))이다. n과 x가 주어질 때 fn(x)를 계산하는 www.acmicpc.net 대수학에서 permutation 개념을 이용한 문제입니다. 주어진 입력이 있을 때 x에서 출발해 n번 합성함수를 돌리면 어떤 수가 나올지 구하는 문제입니다. 쿼리의 수가 Q x; int res = solve(n, x); cout
www.acmicpc.net/problem/1019 1019번: 책 페이지 첫째 줄에 0이 총 몇 번 나오는지, 1이 총 몇 번 나오는지, ..., 9가 총 몇 번 나오는지를 공백으로 구분해 출력한다. www.acmicpc.net 페이지가 n인 책에서 0~9가 몇 번 나오는지 구하는 문제입니다. ( 책은 1페이지부터 시작, n99 이므로 이러한 경우는 따로 구해줍니다. 100,101 을 따로 구한 뒤, 99를 n으로 생각하여 풀면됩니다. 코드는 다음과 같습니다. (실제로 찍어보니 1,000,000,000을 대입해도 count[0]~count[9]가 int 범위를 안 넘으므로 그냥 int로 해도 됩니다.) #include #include #include #include #include #include us..
www.acmicpc.net/problem/14725 14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개가 주어진다. (1 ≤ N ≤ 1000) 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 www.acmicpc.net 트라이 자료구조라는 것을 새로 접하게 되었다. 트라이 자료구조란, string을 트리모양으로 만들어 트리를 탐색하며 string을 만드는 자료구조이다. (참고 : twpower.github.io/187-trie-concept-and-basic-problem) 위 문제는 트라이 자료구조에 필요한 모든 것을 구할 필요는 없으나, 삽입 함수 정도만 구하면 됩니다. 코드는 다음과 같습니다. #includ..