쾌락없는 책임 (공부)
-
백준 1916 최소비용 구하기 - C++, 다익스트라쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 6. 1. 21:34
1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net #include #include #include #include using namespace std; int n, m, start, finish; int inputTo, inputFrom, inputCost; vector bus[1001]; int toIndexCityCost[1001]; void Djik(){ priority_queue djikQ; djikQ.push(make_pair(0, start)); toIndexCity..
-
백준 11779 최소비용 구하기 2 - C++, 다익스트라 경로추적쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 6. 1. 14:30
11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net #include #include #include #include using namespace std; int n, m, start, finish; int inputFrom, inputTo, inputCost; vector road[1001]; int city[1001]; int route[1001]; int main(){ // 입력 cin >> n >> m; for(int i = 1; i > inputFrom >> inputTo >..
-
시스템프로그래밍 07 - Conditonal Processing(2)쾌락없는 책임 (공부)/시스템프로그래밍 2021. 5. 30. 21:59
본 포스트는 강동완 교수님의 '시스템프로그래밍' 강의를 듣고 이해한 것들을 정리한 포스트입니다. - 강의자료는 올리지 않습니다 시스템프로그래밍 06 - Conditional Processing (1) 본 포스트는 강동완 교수님의 '시스템프로그래밍' 강의를 듣고 이해한 것들을 정리한 포스트입니다. - 강의자료는 올리지 않습니다 Boolean / Comparision Instructions 상위 언어에 있는 불리언 연산과 husk321.tistory.com 이전 포스트에 이어서 나오는 내용들입니다. 위 and 등의 각종 연산들을 통해서 상위 언어에 있는 if, switch 등을 구현하는것이 이번 포스팅의 목표입니다. J로 시작하는 명령어들 (Jcond Instruction) 1. 플래그 레지스터에 따라서 J..
-
시스템프로그래밍 06 - Conditional Processing (1)쾌락없는 책임 (공부)/시스템프로그래밍 2021. 5. 30. 21:01
본 포스트는 강동완 교수님의 '시스템프로그래밍' 강의를 듣고 이해한 것들을 정리한 포스트입니다. - 강의자료는 올리지 않습니다 Boolean / Comparision Instructions 상위 언어에 있는 불리언 연산과 비교 연산을 하는 일입니다. 어셈블리어는 기계어 기반이다 보니 2진수의 bit 연산을 하게 되며 각종 연산들이 플래그 레지스터에 영향을 줘 이후 나오는 비교나 루프 등에 유용하게 사용됩니다. AND destination, source 역시나 destination에는 상수가 올 수 없으며 그 외에는 reg, mem, imm 등이 올 수 있습니다. 단 mem, mem 연산은 제공하지 않으며 두 operand간 크기가 같아야 합니다. 연산 결과를 통해서 destination와 source와 ..
-
시스템프로그래밍 05 - 조금 더 상위 연산들쾌락없는 책임 (공부)/시스템프로그래밍 2021. 5. 30. 20:14
본 포스트는 강동완 교수님의 '시스템프로그래밍' 강의를 듣고 이해한 것들을 정리한 포스트입니다. - 강의자료는 올리지 않습니다 서론 지금까지 배운 내용들을 본다면 단순한 값 대입같은 이야기들이라 상위 프로그래밍 언어로 되어 있는 것들이 어떻게 어셈블리어에서 동작하는지 알 수가 없습니다. 이번 포스팅부터는 루프문을 비롯한 조금 더 상위 개념들을 배운 뒤 정리한 내용들입니다. JUMP와 LOOP C언어에도 있는 내용으로 C의 점프와 루프와 하는 일이 같습니다. 대신 C에서는 다른 변수나 포인터 등을 통해서 이루어졌지만 어셈블리어에서는 다른 것들을 기준으로 해서 작동하게 됩니다. 1. JMP JMP destination destination에는 레이블 이름이 올 수 있으며 해당 레이블로 점프를 하게 됩니다. ..
-
백준 15723 n단 논법 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 30. 18:01
15723번: n단 논법 m개의 줄에 걸쳐 각 줄에 결론이 참인지 거짓인지 출력하라. 참일 경우 T, 거짓일 경우 F를 출력하라. 알 수 없는 경우도 거짓이다. 답은 필히 대문자로 출력해야 한다. www.acmicpc.net #include #include #include using namespace std; int n, m; char inputFrom, inputTo; bool alphabet[27][27]; string isTemp; void Floyd(){ for(int via = 1; via > inputFrom >> isTemp >> inputTo; alphabet[inputFrom - 96][inputTo - 96] = true; alphabet[inputTo - 96][inputFrom - ..
-
길찾기 알고리즘(1) - 플로이드-와샬 알고리즘쾌락없는 책임 (공부)/알고리즘 공부 2021. 5. 29. 12:01
플로이드-와샬 알고리즘 플로이도-와샬 알고리즘의 기본 이론은 '중간에 경유지를 거쳐가는게 빠르다면 그 값으로 업데이트' 해주는 것입니다. 또한 이전의 다익스트라 알고리즘과의 차이라고 하면 다익스트라 알고리즘은 [ 시작지점 1개 to 여러 목적지 ] 를 구하는 알고리즘이라 모든 경로를 구할 수 없습니다. 하지만 플로이드-와샬 알고리즘의 경우 모든노드 to 모든 노드의 경로값을 구할 수 있다는 장점이 있습니다. 구현을 하게 되면 for문이 3개가 있어 O(n^3)의 시간 복잡도를 가지게 되고 경로를 저장할 2차원 배열이 필요하기 때문에 n^2만큼의 공간 복잡도가 필요하게 됩니다. 말로 풀어쓰는 플로이드-와샬 알고리즘 A B C A - 5 15 B 4 - 5 C 1 20 - A에서 B, C로 가는 비용이 5,..
-
백준 1613 역사 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 5. 28. 19:27
1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를 알고 있는 두 사건의 번호가 주어진다. www.acmicpc.net #include #include using namespace std; int n, k, s, from, to; int pre, aft; int history[401][401]; vector sol; void History(){ for(int v = 1; v