본문 바로가기

C++

(113)
[백준 11657번] 타임머신 link : https://www.acmicpc.net/problem/11657 타임머신 성공시간 제한메모리 제한제출정답맞은 사람정답 비율1 초256 MB68052769163638.962%문제N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 버스가 M개 있다. 각 버스는 A, B, C로 나타낼 수 있는데, A는 시작도시, B는 도착도시, C는 버스를 타고 이동하는데 걸리는 시간이다. 시간 C가 양수가 아닌 경우가 있다. C = 0인 경우는 순간 이동을 하는 경우, C < 0인 경우는 타임머신으로 시간을 되돌아가는 경우이다.1번 도시에서 출발해서 나머지 도시로 가는 가장 빠른 시간을 구하는 프로그램을 작성하시오.입력첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수..
[백준 1238번] 파티 link : https://www.acmicpc.net/problem/1238 파티 성공한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초128 MB68602826192340.587%문제N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오..
Learn OpenGL - Advanced Lighting : Gamma Correction link : https://learnopengl.com/Advanced-Lighting/Gamma-Correction Gamma Correction 장면의 모든 최종 픽셀 색을 계산하자마자 모니터에 표시해야한다. 디지털 이미징의 옛날 대부분의 모니터는 브라운관 (CRT) 모니터였다. 이 모니터는 입력 전압이 두 배가 되어도 밝기의 두 배가 되지 않는다는 물리적 특성을 가지고 있다. 입력 전압을 두 배로 하면 모니터의 감마라고도 알려진 약 2.2의 지수 관계와 같은 밝기가 나타난다. 이것은 인간이 밝기를 측정하는 방법과 비슷하게 발생한다. 밝기는 비슷한 (역) 전력 관계로 표시된다. 이것이 무엇을 의미하는지 더 잘 이해하기 위해 다음 그림을 살펴보아라: 맨 윗줄은 사람의 눈에 맞는 밝기 크기이다. 밝기를 ..
Learn OpenGL - Advanced Lighting : Advanced Lighting link : https://learnopengl.com/Advanced-Lighting/Advanced-Lighting Advanced Lighting 조명 튜토리얼에서 Phong 조명 모델을 간략하게 소개해 현장에 기본적인 사실감을 선사했다. Blin-Phong 퐁 조명은 조명의 훌륭한 근사이지만, 특정 조건에서는 특히 반사율이 낮아 반사 영역이 겇니 경우 반사 현상이 발생한다. 아래 이미지는 평평한 텍스처면에서 1.0의 반사광 지수를 사용할 때 어떤 일이 일어나는지 보여준다: 가장자리에서 반사 영역이 즉시 끊어지는 것을 볼 수 있다. 그 이유는 뷰 벡터와 반사 벡터 사이의 각도가 90도 이상으로 올라가지 않도록 하기 위함이다. 각도가 90도 이상이면 결과 내적이 음수가 되고 반사 지수가 0.0이 된다..
[백준 6497번] 전력난 link : https://www.acmicpc.net/problem/6497 전력난 성공한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초128 MB130646832732.766%문제성진이는 한 도시의 시장인데 거지라서 전력난에 끙끙댄다. 그래서 원래 모든 길마다 켜져 있던 가로등 중 일부를 소등하기로 하였다. 길의 가로등을 켜 두면 하루에 길의 미터 수만큼 돈이 들어가는데, 일부를 소등하여 그만큼의 돈을 절약할 수 있다.그러나 만약 어떤 두 집을 왕래할 때, 불이 켜져 있지 않은 길을 반드시 지나야 한다면 위험하다. 그래서 도시에 있는 모든 두 집 쌍에 대해, 불이 켜진 길만으로 서로를 왕래할 수 있어야 한다.위 조건을 지키면서 절약할 수 있는 최대 액수를 구하시오.입력입력은 여러 개의 테스트..
Game Physics Engine Development - Chapter 6 : 스프링과 스프링 유사 물체 (Hook's law) 보호되어 있는 글입니다.
Learn OpenGL - Advanced OpenGL : Anti Aliasing link : https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing Anti Aliasing 아마 렌더링을 하다보면 당신의 모델의 가장자리를 따라 톱니 모양의 패턴을 보게 될 것이다. 이 들쭉날쭉한 가장자리가 나타나는 이유는 래스터 라이저가 정점 데이터를 장면 뒤의 실제 조각으로 변환하는 방법 때문이다. 이 들쭉날쭉한 가장자리가 어떻게 생겼는지 보여주는 예제는 간단한 큐브를 그릴 때 이미 볼 수 있다: 즉시 보이지는 않지만 큐브의 가장자리를 면밀히 살펴보면 지그재그 패턴을 볼 수 있다. 확대하면 다음을 볼 수 있다: 이것은 분명히 응용 프로그램의 최종 버전에서 우리가 원하는 것이 아니다. 가장자리가 구성하는 픽셀 형성을 명확하게 보는 이 효과를 Aliasing 이..
Learn OpenGL - Advanced OpenGL : Instancing link : https://learnopengl.com/Advanced-OpenGL/Instancing Instancing 대부분의 모델에 동일한 정점 데이터 세트가 포함되어 있지만 다른 세계 변형이 있는 많은 모델을 그리는 장면이 있다고 가정해보자. 잔디 잎으로 가득찬 장면을 생각해보아라. 각 잔디잎은 소수의 삼각형으로 구성된 작은 모형이다. 당신은 아마 그 중 몇개를 그리기를 원할 것이고, 당신의 장면은 수천 또는 수만 줄의 잔디 잎으로 끝날 것이며, 각 프레임을 렌더링해야 할 것이다. 각 잎은 단지 몇 개의 삼각형으로 구성되어 있기 때문에 잎은 거의 즉시 렌더링되지만, 수천 개의 렌더링 호출을 수행하면 성능이 크게 저하된다. 실제로 많은 양의 객체를 렌더링한다면 코드에서 다음과 같이 보일 것이다:f..