728x90

백준 알고리즘 190

백준] 1735 - 분수 합

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. 출력첫째 줄에 구하고자 하는 기약분수의 분자와 분모를 뜻하는 두 개의 자연수를 빈 칸을 사이에 두고 순서대로 출력한다. 소스코드 #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; else gcd(b, a%b); } int main(void) { int a1, a2, b1, b2, lcm, sum, ki; cin >> a1 >> a2; cin >> b1 >> b2; if (a2 > b2) lcm = gcd(a2, b2); else l..

백준] 5545 - 최고의 피자(JOI 2012 예선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 토핑의 종류의 수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 도우의 가격 A와 토핑의 가격 B가 주어진다. (1 ≤ A, B ≤ 1000) 셋째 줄에는 도우의 열량 C가 주어진다. (1 ≤ C ≤ 10000) 다음 줄부터 N개 줄에는 각 토핑의 열량 Di가 한 줄에 하나씩 주어진다. (1 ≤ Di ≤ 10000) 출력첫째 줄에 최고의 피자의 1달러 당 열량을 출력한다. 소수점 이하는 버리고 정수 값으로 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { int n, a, b, c, d[100], sum, toping, bil; double max = 0;..

백준] 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. 출력첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 수가 양수라면 동혁이는 그 개수 만큼 피스를 더해야 하는 것이고, 음수라면 제거해야 하는 것이다. 소스코드 #include using namespace std; int main(void) { int arr[6] = { 1,1,2,2,2,8 }, input[6]; for (int i = 0; i > input[i]; for (int i = 0; i < 6; i++) cout

백준] 4641 - Doubles(ACM-ICPC Regional)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 테스트 케이스로 주어져 있으며, 입력의 끝에는 -1이 하나 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 2~15개의 서로 다른 자연수가 주어진다. 각 자연수는 100보다 작으며, 리스트의 끝은 0으로 판별한다(0은 리스트에 속하지 않는다). 출력각 테스트 케이스마다 한 줄에 걸쳐 정답을 출력한다. 소스코드 #include #include using namespace std; int main(void) { vector arr; int tmp, cnt = 0, size; while (1) { cin >> tmp; if (tmp == -1) break; else if (tmp == 0) { size = arr.size(); for (..

백준] 13458 - 시험 감독

시간 제한 : 2초메모리 제한 : 512MB 입력첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다.둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다.셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) 출력각 시험장마다 응시생을 모두 감독하기 위해 필요한 감독관의 최소 수를 출력한다. 소스코드 #include #include using namespace std; int main(void) { long long n, b, c, bCnt = 0, cCnt = 0; cin >> n; vector arr(n); for (int i = 0; i > arr[i]; cin >> b >> c; for ..

백준] 1350 - 진짜 공간

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,000,000보다 작거나 같은 음이 아닌 정수이다. 마지막 줄에는 클러스터의 크기가 주어진다. 이 값은 1,048,576보다 작거나 같은 자연수이다. 출력첫째 줄에 사용한 디스크 공간을 출력한다. 소스코드 #include using namespace std; int main(void) { int n, arr[1000], clusterSize; long long cluster = 0; cin >> n; for (int i = 0; i > arr[i]; cin >..

728x90