728x90
728x90

백준 알고리즘 190

백준] 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); ..

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

백준] 9020 - 골드바흐의 추측(ACM-ICPC Regionals)

시간 제한 : 2초메모리 제한 : 256MB 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고 짝수 n이 주어진다. (4 ≤ n ≤ 10,000) 출력각 테스트 케이스에 대해서 주어진 n의 골드바흐 파티션을 출력한다. 출력하는 소수는 작은 것부터 먼저 출력하며, 공백으로 구분한다. 소스코드#include #include #include using namespace std; int main(void) { int T, N; vector arr(10001, true); vector sosu; cin >> T; for (int i = 2; i =0) { if (max > (N - sosu[i]*2)) { max = N - sosu[i] * 2; ans1 = sosu[..

백준] 2942 - 퍼거슨과 사과(COCI 2008/2009)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 R과 G가 주어진다. (1 ≤ R, G ≤ 1,000,000,000) 출력퍼거슨이 사과를 나누어 주는 방법을 출력한다. 방법을 출력할 때는 사과를 받게되는 선수의 수 N과 나누어 주는 빨간 사과의 수 X와 초록 사과의 수 Y를 출력한다.각 방법은 한 번만 출력해야 한다. 나누어 주는 방법은 아무 순서로 출력해도 된다. 소스코드#include #include #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a%b); } int main(void) { int r, g, c; set meta; cin >> r >> g; if (r ..

728x90