728x90
728x90

문제 풀이 188

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

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

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

백준] 5692 - 팩토리얼 진법(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 최대 5자리인 팩토리얼 진법 숫자가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다. 출력각 테스트 케이스에 대해서, 입력으로 주어진 팩토리얼 진법 숫자를 10진법으로 읽은 값을 출력한다. 소스코드#include #include using namespace std; int main(void) { std::ios::sync_with_stdio(false); cin.tie(0); int arr[6] = { 0, 1, 2, 6, 24, 120 }; while (1) { string s; int len, sum = 0; cin >> s; if (s == "0"..

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

백준] 2456 - 나는 학급회장이다(한국정보올림피아드:KOI 2011 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에는 반의 학생들의 수 N (3 b.three) return true; else if (a.three == b.three) { if (a.two > b.two) return true; else return false; } else return false; } } int main(void) { int n, tmp; cin >> n; vector arr(n, { 0,0,0,0,0 }); for (int i = 0; i < 4; i++) arr[i].idx = i; for (int i = 1; i tmp; if (tmp == 1) arr[j].one++; else if (tmp == 2) arr[j].two++; else arr[j].three++; ar..

백준] 10984 - 내 학점을 구해줘(2015 KAIST 5th ACM-ICPC Mock)

시간 제한 : 1초메모리 제한 : 256MB 입력첫 번째 줄에 학기의 수 T가 주어진다. 두 번째 줄부터 T개 학기에 대한 정보가 주어진다.각 학기에 대한 정보는 다음과 같이 구성되어 있다. 첫 번째 줄에 들었던 과목의 수 N이 주어지고, 다음 N개 줄에 걸쳐서 N개 과목들의 학점 C와 성적 G가 주어진다. (1 ≤ N ≤ 10, 1 ≤ C ≤ 6의 정수) G는 {0, 0.7, 1, 1.3, 1,7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 4.3} 중 하나이며 소수 부분은 최대 한 자리까지 주어진다. 출력각 학기에 대해 근우의 총 학점과 평점(GPA)을 출력한다. 평점은 소수점 아래 두 번째 자리에서 반올림한다. 소스코드#include using namespace std; int main(v..

728x90