본문 바로가기

분류 전체보기142

백준 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.
백준 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.