본문 바로가기

분류 전체보기137

백준 15662 C++ https://www.acmicpc.net/problem/15662이전 톱니바퀴 1은 이진법으로 풀었었는데 이번엔 간단하게 vector를 rotate하는 방법으로 풀었다.#include using namespace std;//동일하게 극이 다르면 회전방향의 반대방향으로 회전한다.//rotate int t, k; //톱니바퀴는 1번부터 순서가 매겨진다. k번 회전한다.int result = 0;vector> toms(1005);int visited[1005];void turn(int tomNum, int dir){ //cout = 0 && !visited[tomNum - 1]) { //tomNum - 1이 범위를 벗어나지 않으면서 방문하지 않는 톱니라면 if (toms[tomNum][6] != tom.. 2024. 11. 20.
백준 14891 C++ https://www.acmicpc.net/problem/14891 문제가 비스마스킹처럼 생겨서 비트마스킹으로 풀었다.if (t - 1 >= 0 && !visited[t - 1]) 위 코드에서 t-1 > 0으로 해서 시간이 오래 걸렸다... 이런거 생각 잘해야겠다. #include using namespace std;int toms[4];int visited[5];int n; //회전 횟수void turn(int t, int dir) { //toms[t]번째 톱니가 돌아가고 dir 방향으로 돌아간다. //체크해야하는 비트 자리는 1 왼쪽(위), 5 오른쪽(아래) visited[t] = 1; //다시 도는 걸 방지하기 위해서 /*cout t와 t의 오른쪽이 같다. //무조건 다르게 나오네 앞은 .. 2024. 11. 19.
ProjectileMovementComponent와 Physics 사용 시 Overlap 에러 화살의 움직임을 만들기 위해서 ProjectileMovementComponent를 추가하고나서 이상한 현상이 발생했다. 위 동영상은 코드에서 SimulatePhysics를 비활성화했을 때ArrowBox->SetSimulatePhysics(false);  위 동영상은 SimulatePhysics를 활성화했을 때이다.ArrowBox->SetSimulatePhysics(true); 이 한줄의 차이로 Overlap이 작동하는지 판가름했다. 왜???SimulatePhysics와 ProjectileMovementComponent가 Overlap에 관여하는가??SetSimulatePhysics(true)가 활성화되면 물리 엔진이 움직임을 제어한다.이떄 물리 시물레이션이 활성화되면 UE는 충돌 이벤트를 우선적으로 처리.. 2024. 10. 26.
백준 2529 C++ 이 문제도 생각하는 방식은 간단하다.에 둘 다 사용할 수 있도록 재귀함수를 만들어주면 된다.#include using namespace std;bool bIsFindResult = false;int bodingNum;int usedNum[10];vector result;vector vIsFindBigger;void FindResult(int num, int index){ usedNum[num] = 1; if (index == bodingNum && bIsFindResult == false) { //cout = 0; i--) { if (usedNum[i]) continue; result.push_back(i); FindResult(i, index + 1); result.pop_back();.. 2024. 10. 19.