본문 바로가기

구현8

[백준][누적합][구현] 27942 danceplant c++ 구현 목차https://www.acmicpc.net/problem/27942문제 문제 구현 방향누적합을 통해 하지 않으면 시간초과가 나는 문제이다. 탐색은 bfs와 유사하게 했지만 가장 큰 곳을 먼저 탐색하게끔 좌표를 따로 저장해 주었다.  코드 구현#include #include #include#include#include using namespace std;typedef struct Plant{ vector> v; int sum;}Plant;int N;int board[3001][3001] = { 0 };int searching[3001][3001] = { 0 };vector> v;//상하좌우int dx[4] = {0,0,-1, 1};int dy[4] = {-1, 1,0,0};Plant dire.. 2024. 9. 19.
[백준][구현] 15685 드래곤 커브 c++구현 목차https://www.acmicpc.net/problem/15685문제 문제 구현 방향각 드래곤의 방향을 구한뒤 맵과 벡터에 좌표를 넣고 탐색하는 식으로 구현했다. 문제 아이디어 1. 드래곤의 방향을 넣고 좌표 구하기드래곤의 움직임은 결국 방향벡터의 size만큼 세대별로 거꾸로 탐색해 방향벡터+1을 더한 값을 넣어주면 된다.void dragonMoving() { vector direct; for (int i = 0; i = 0; j--) { direct.push_back((direct[j] + 1) % 4); } } int sx = v[i].x; int sy = v[i].y; if.. 2024. 8. 17.
[백준][구현][백트래킹] 17825 주사위 윷놀이 c++구현 목차https://www.acmicpc.net/problem/17825문제 문제 구현 방향인접리스트에 저장해놓고 말 4개를 백트래킹하는 방식으로 구현했다.말 4개를 10번 움직이는 것이므로 4^10이라는 탐색 시간은 충분히 구현할 수 있다.   문제 구현 시 주의점말이 모일 때 예외처리를 매우 잘해주어야 한다. (25, 30, 35, 40)도착지에 가면 말은 바로 멈춘다는 사실도 주의해야 한다.또한 도착지에는 말이 여러개 갈 수 있다는 사실을 주의해야 한다.  코드 구현#include #include using namespace std;vector v[10] = { {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,.. 2024. 8. 17.
[백준][구현] 17143 낚시왕 c++구현 목차https://www.acmicpc.net/problem/17143문제 문제 구현 방향상어 구조체에 death를 추가했으면 더 쉽게 풀 수 있었던 문제인데 배열에 넣고 담을려 해서 더 돌아갔다.  문제 아이디어1. 속도 단위로 줄이기 아래와 같이 상어는 갔다 돌아오는 것이므로 %연산자로 속도를 줄일 수 있다. for (auto& sh : v) { if (sh.direct  2. 상어의 방향성 구현하기아래와 같이 코드를 짜면 한번에 이동을 구현해 시간 초과가 나지 않는다.끝에 도달할 경우를 잘 생각해 보면 while문안에서 최대 두번 돌고 구현할 수 있다. for (auto& sh : v) { int d = sh.direct; int x = sh.x; int y .. 2024. 8. 16.
728x90