728x90

백준 알고리즘 190

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

백준] 1652 - 누울 자리를 찾아라

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. 출력첫째 줄에 가로로 누울 수 있는 자리와 세로로 누울 수 있는 자리의 개수를 출력한다. 소스코드#include #include #include using namespace std; int main(void) { int n, vertical = 0, horizontal = 0; cin >> n; vector room(n); for (int i = 0; i > room[i]; for (int i = 0; i < n; i++) { for (i..

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

백준] 2167 - 2차원 배열의 합

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 합을 구할 부분의 개수 K(1 ≤ K ≤ 10,000)가 주어진다. 다음 K개의 줄에는 네 개의 정수로 i, j, x, y가 주어진다(i ≤ x, j ≤ y). 출력K개의 줄에 순서대로 배열의 합을 출력한다. 배열의 합은 32bit-int 범위를 초과하지 않는다. 소스코드 #include #include using namespace std; int main(void) { vector arr; vector dp; int n, m, t, x1, y..

백준] 1233 - 주사위(USACO 2008)

시간 제한 : 2초메모리 제한 : 128MB 입력입력 파일의 첫째 줄에 정수 S1, S2, S3가 주어진다. 출력출력 파일의 첫째 줄에 가장 높은 빈도로 나오는 세 주사위 합을 구하는 것이다. 단 답이 여러개라면 가장 합이 작은 것을 출력한다. 소스코드 #include using namespace std; int main(void) { int s1, s2, s3, arr[81] = { 0, }; cin >> s1 >> s2 >> s3; for (int i = 1; i

백준] 2857 - FBI(COCI 2010/2011)

시간 제한 : 1초메모리 제한 : 128MB 입력5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. 출력첫째 줄에 FBI 요원을 출력한다. 이 때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { int n = 5; vector arr; for (int i = 1; i > str; if (str.find("FBI", 0) != string::npos) arr.push_back(i); }..

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

728x90