728x90
728x90

ACM-ICPC 40

백준] 9465 - 스티커(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 점수이다. 연속하는 두 정수 사이에는 빈 칸이 하나 있다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력각 테스트 케이스 마다, 2n개의 스티커 중에서 두 변을 공유하지 않는 스티커 점수의 최댓값을 출력한다. 소스코드 #include #include using namespace std; int max(int a, int b) { return a < b ? b : a; } int main(void) { int t, n, ans; c..

백준] 13752 - 히스토그램(ACM-ICPC Regionals)

시간 제한 : 2초메모리 제한 : 512MB 입력각 입력은 하나의 테스트 케이스로 구성됩니다. 프로그램이 여러 입력에서 여러 번 실행될 수 있습니다. 첫 번째 입력 줄에는 데이터 항목 수를 나타내는 정수 n (1 ≤ n ≤ 100)이 포함됩니다. 다음 n 개의 라인 각각에는 데이터인 단일 정수 k (1 ≤ k ≤ 80)가 있습니다. 출력'='문자를 사용하여 가로로 히스토그램을 인쇄하십시오. 각 데이터 항목의 막대를 데이터 항목 k와 동일한 '='숫자와 함께 주어진 순서대로 자체 행에 인쇄하십시오. '='사이에 공백을 인쇄하지 마십시오. 소스코드#include using namespace std; int main(void) { int n, arr[100]; cin >> n; for (int i = 0; i..

백준] 4435- 중간계 전쟁(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, 독수리, 마법사 순서이다. 둘째 줄에는 사우론 군대에 참여한 종족의 수가 주어진다. 이 값 역시 공백으로 구분되어 있으며, 오크, 인간, 워그, 고블린, 우럭하이, 트롤, 마법사 순서이다. 모든 값은 음이 아닌 정수이고, 각 군대의 점수의 합은 32비트 정수 제한을 넘지 않는다. 출력각 전투에 대해서, "Battle"과 전투 번호를 출력한다. 그 다음에 간달프의 군대가 이긴다면 "Good triumphs over Evil"를, 사우론의 군대가 이긴다면 "Evil ..

백준] 2246 - 콘도 선정(ACM-ICPC Regionals)

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 콘도의 개수를 나타내는 자연수 N(1≤N≤10,000)이 주어진다. 다음 N개의 줄에는 각 콘도에 대한 정보를 나타내는 두 정수 D(1≤D≤10,000), C(1≤C≤10,000)가 주어진다. D는 그 콘도의 바닷가로부터의 거리를 나타내고, C는 그 콘도의 숙박비를 나타낸다. D와 C값이 서로 같은 콘도가 주어지지는 않는다. 출력첫째 줄에 후보가 될 수 있는 콘도의 수를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, cnt = 0; bool check; cin >> n; vector arr(n); for (int i = 0; i > a..

백준] 2145 - 숫자 놀이(ACM-ICPC Regionals)

시간 제한 : 2초메모리 제한 : 128MB 입력각 줄에 숫자 N이 주어진다. N은 100,000보다 작은 양의 정수이다. 마지막 입력은 0이며, 0에 대한 결과는 출력하지 않는다. 출력한 줄에 하나씩 한 자릿수 결과를 출력한다. 소스코드 #include using namespace std; int main(void) { int n, tmp1, tmp2; while (1) { cin >> n; if (n == 0) break; while (n >= 10) { tmp1 = n, tmp2 = 0; while (tmp1 > 0) { tmp2 += tmp1 % 10; tmp1 /= 10; } n = tmp2; } cout

백준] 5704 - 팬그램(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. 입력의 마지막 줄에는 별표(*)가 하나 주어진다. 출력각 테스트 케이스에 대해서, 입력으로 주어진 문장이 팬그램이라면 'Y', 아니라면 'N'를 출력한다. 소스코드 #include #include using namespace std; int main(void) { while (1) { string str; getline(cin, str); if (str == "*") break; int arr[26] = { 0, }, len; len = str.length(); for..

백준] 4539 - 반올림(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 x가 주어진다. (0 ≤ x ≤ 99999999) 출력각 테스트 케이스마다 입력으로 주어지는 정수를 문제 설명에 나온 것처럼 반올림한 결과를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, x, result, itmp; double dtmp; cin >> n; while (n--) { cin >> x; for (itmp = 0; pow(10, itmp) < x; itmp++); result = x; for (int i = 1; i < itmp; i++) { dtmp = (do..

백준] 4949 - 균형잡힌 세상(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다.입력의 종료조건으로 맨 마지막에 점 하나(".")가 들어온다. 출력각 줄마다 해당 문자열이 균형을 이루고 있으면 "yes"를, 아니면 "no"를 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { string tmp; while (1) { getline(cin, tmp); if (tmp == ".") break; int len = tmp.length(); bool check = true; stack ..

728x90