분류 전체보기137 백준 15685 C++ https://www.acmicpc.net/problem/15685 첫 인상이 굉장히 무서운 문제다.드래곤 커브가 무엇인지도 잘 모르겠고 설명도 이상한데 생긴건 또 무섭다. 그래도 시도하면 할 만한 문제다.일단 드래곤 커브가 격자 밖으로 나가지 않아서 귀찮은 문제가 1개 줄었다. 그리고 다음 문제가 결국 '드래곤 커브를 어떻게 그릴 것인가'이다.종이에 그리다보면 나올 것이라고 생각되는데 말로 설명하기가 참 어렵다. 이전까지 있었던 방향을 저장하고 역순으로 조회하며 (dir+1) % 4하면 된다.아 물론 dir+1은 dy, dx를 어떻게 했느냐에 따라 다르지만 아래 코드는 그렇게 된다.한번 예제 1번만이라도 코드를 따라가보면 무슨 규칙인지 감이 올 것이다. #include using namespace st.. 2024. 12. 29. 백준 17143 C++ https://www.acmicpc.net/problem/17143 상어가 3가지 값을 가져야한다는 사실에 tuple을 사용해야겠다고 생각을 했다.그리고 상어가 잡아 먹히는 걸 처음에는 vector erase remove를 생각했는데 특정 범위까지 설정해야하는 점이 번거롭다고 생각해서 그냥 새로 넣는 방식으로 택했다.그 이유는 배열의 자체 크기가 100 * 100까지로 크기가 작다고 생각했기 때문이다. 그리고 또 어려웠던건 이동인데계속 식을 만들어서 효율적으로 이동하려고 했는데틀린 식인ny = ny + (r-1) - nowSpeed % 3 등등 다양하게 세워보다가 발견한 문제점이다시 제자리로 안 올 수 있다는 것이었다.그렇다면 그냥 nowSpeed가 충분히 크다면 cycle을 돌아서 제자리로 돌아오는 .. 2024. 11. 30. 백준 14888 C++ https://www.acmicpc.net/problem/14888 이 문제는 딱히 어렵게 생각 안하고 dfs로 생각해서 바로 풀었다.#include using namespace std;typedef long long ll;int n;ll minResult = 9876543210, maxResult = -9876543210;vector v;vector op;ll OpCal(int a, int b, int index){ if (index == 0) { //+ return a + b; } else if (index == 1) { //- return a - b; } else if (index == 2) { //* return a * b; } else { // / return a / b; }}vo.. 2024. 11. 29. 백준 1911 C++ https://www.acmicpc.net/problem/1911 처음에 배열을 생각했는데 배열의 크기가 너무 크다고 안된다고 해서sort해서 널빤지가 넘어가는 부분에 대해 생각한 후 계산해서 for문 돌리니까 맞았다. #include using namespace std;typedef long long ll;int n, l; //n개의 웅덩이(1~10000), l의 길이 널빤지(1~1,000,000) 널빤지는 무한.int s, e, maxe=0;ll result = 0;vector> v;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> l; int s, e; for (int i = 0; i > s >> e; m.. 2024. 11. 22. 이전 1 2 3 4 5 ··· 35 다음