728x90

Computer Science 404

백준] 2890 - 카약(COCI 2009/2010)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 R과 C가 주어진다. 다음 R개 줄에는 '.', 'S', 'F', '1'~'9'로 이루어진 위성 지도가 주어진다. 한 줄에는 최대 한 개의 카약만 있고, 위성 사진에 있는 카약은 항상 9개이다. (10 ≤ R, C ≤ 50) 출력출력은 총 9줄을 해야 한다. i번째 줄에는 i번 팀의 등수를 출력한다. (i=1~9) 소스코드#include #include #include #include using namespace std; struct team { int id; int distance; int rank; }; bool compareDistance(const struct team a, const struct team b) { if (a.distanc..

백준] 9469 - 폰 노이만(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다.각 테스트 케이스는 다섯 숫자 N, D, A, B, F이루어져 있다. N은 테스트 케이스의 번호이고, D는 철로의 길이 (10 ≤ D ≤ 1000), A와 B는 두 기차의 속도 (1 ≤ A, B ≤ 30), F는 파리의 속도 (A ≤ B < F ≤ 50)이다. D, A, B, F는 실수이다. 실수는 최대 소수점 둘째자리까지 주어진다. 출력각 테스트 케이스마다 테스트 케이스 번호를 출력하고, 두 기차가 충돌할 때까지 파리가 움직인 거리를 출력한다. 절대/상대 오차는 10^-2까지 허용한다. 소스코드#include using namespace std; int main(void) { int..

백준] 3029 - 경고(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 현재 시간이 hh:mm:ss 형식으로 주어진다. (시, 분, 초) hh는 0보다 크거나 같고, 23보다 작거나 같으며, 분과 초는 0보다 크거나 같고, 59보다 작거나 같다.둘째 줄에는 나트륨을 던질 시간이 위와 같은 형식으로 주어진다. 출력첫째 줄에 정인이가 기다려야 하는 시간을 입력과 같은 형식으로 출력한다. 소스코드#include #include using namespace std; int main(void) { string start, end; int s[3], e[3], ans[3]; cin >> start; cin >> end; s[0] = stoi(start.substr(0, 2)); s[1] = stoi(start.substr(3,..

백준] 2997 - 네 번째 수(COCI 2007/2008)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 상근이가 고른 네 개의 숫자 중 세 개가 주어진다. 이 숫자는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력첫째 줄에 네 번째 숫자를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다. 소스코드#include #include #include using namespace std; int main(void) { vector arr(3); for (int i = 0; i > arr[i]; sort(arr.begin(), arr.end()); int d1, d2; d1 = arr[1] - arr[0]; d2 ..

백준] 2891 - 카약과 강풍(COCI 2009/2010)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 팀의 수 N, 카약이 손상된 팀의 수 S, 카약을 하나 더 가져온 팀의 수 R이 주어진다. (2 ≤ N ≤ 10, 2 ≤ S, R ≤ N)둘째 줄에는 카약이 손상된 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다.셋째 줄에는 카약을 하나 더 가져온 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다. 출력첫째 줄에 출발을 할 수 없는 팀의 최솟값을 출력한다. 소스코드#include #include using namespace std; int main(void) { int N, S, R, retire = 0; cin >> N >> S >> R; vector team(N + 1, 1); vector broken(S); vector spare(R); ..

OS] 프로세스(Process)와 프로세스 상태(Process State) 정리

프로세스 작업(Job)실행 프로그램과 이에 필요한 데이터 묶음, 컴퓨터에 의해 실행되기 이전의 상태. 프로세스(Process)커널에 등록된 작업, 커널에 등록되어 커널의 관리 하에 들어감.각종 자원들을 요청하고 할당 받을 수 있는 개체.PCB를 할당 받은 개체.능동적인 개체로 실행 중 각종 자원을 요구하거나 반납하면서 진행함. PCB:Process Control Block커널 공간 내 존재해 프로세스가 커널에 등록되어 실행될 시에 프로세스마다 자동으로 생성.프로세스의 각종 정보를 내장하며 종료 시 파괴. OS에 따라서 저장되어야 하는 정보가 다르고, PCB 영역 참조 및 갱신 속도 개선이 시스템 전체 성능에 영향을 미침. - Process Identification ; 프로세스 고유 번호- Process..

Computer Science/OS 2019.02.10

백준] 3486 - Adding Reversed Numbers(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력The input consists of N cases. The first line of the input contains only positive integer N. Then follow the cases. Each case consists of exactly one line with two positive integers separated by space. These are the reversed numbers you are to add. Two integers are less than 100,000,000. 출력For each case, print exactly one line containing only one integer - the reversed..

백준] 10826 - 피보나치 수 4

시간 제한 : 1초메모리 제한 : 256MB 입력첫째 줄에 n이 주어진다. n은 10,000보다 작거나 같은 자연수 또는 0이다. 출력첫째 줄에 n번째 피보나치 수를 출력한다. 소스코드#include #include #include using namespace std; int main(void) { int n, len1, len2, carry, prevCarry; string fib1 = "0", fib2 = "1"; cin >> n; if (n == 0) cout = 10) { carry = 1; nextFib += (f1 + f2 + prevCarry - 10) + '0'; if (i == 0 && carry) nextFib += '1'; } else { carry = 0; nextFib += (f1..

백준] 3054 - 피터팬 프레임(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 알파벳 대문자로 이루어진 최대 15글자 단어가 주어진다. 출력다섯 줄에 걸쳐, 입력으로 주어진 단어를 피터팬 프레임과 웬디 프레임으로 장식한 결과를 출력한다. 소스코드#include #include #include using namespace std; int main(void) { string str; int len; cin >> str; len = str.length(); vector arr(5); arr[0] = "..#.."; for (int i = 1; i < str.length(); i++) { if (i % 3 == 2) arr[0] += ".*.."; else arr[0] += ".#.."; } arr[4] = arr[0]; arr[..

백준] 1049 - 기타줄

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주어진다. 가격은 0보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력첫째 줄에 김지민이 기타줄을 적어도 N개 사기 위해 필요한 돈의 최솟값을 출력한다. 소스코드#include #include using namespace std; int main(void) { int n, m, sum = 0; int package[50], piece[50]; bool cheap = false; cin >> n >> m; for (int i = 0; i < m; i++..

728x90