728x90

알고리즘 246

백준] 4597 - 패리티(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 비트 스트링으로 이루어져 있다. 각 비트 스트링은 한 줄로 이루어져 있고, 길이는 1~31비트이다. 또, 비트 스트링의 마지막 문자는 e 또는 o이다. (e: 짝수 패리티, o: 홀수 패리티) 마지막 줄에는 '#'이 주어진다. 출력입력으로 주어진 각각의 비트 스트링에 대해서, 마지막 문자를 올바른 비트로 바꾼 비트 스트링을 출력한다. 소스코드 #include #include using namespace std; int main(void) { while (1) { int one = 0, len; string str; cin >> str; if (str == "#") break; len = str.length(); for (int i = 0;..

백준] 1731 - 추론

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 수열의 길이 N이 주어진다. 둘째 줄부터 N개의 줄에 수열의 각 원소가 차례대로 주어진다. 주어지는 수열은 등차수열이나 등비수열 중에 하나다. N은 항상 3 이상 50이하이며, 입력되는 수는 10^6 이하의 자연수이다. 출력첫째 줄에 수열의 다음 원소를 출력한다. 이 수는 20억보다 작거나 같다. 소스코드 #include #include using namespace std; int main(void) { int n; long long q, next; cin >> n; vector arr(n); for (int i = 0; i > arr[i]; if (arr[0] * arr[2] == arr[1] * arr[1]) { q..

백준] 1992 - 쿼드트리

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는 1의 숫자로 이루어져 있으며, 영상의 각 점들을 나타낸다. 출력영상을 압축한 결과를 출력한다. 소스코드#include #include #include using namespace std; vector tree; void quadtree(int row, int col, int n) { if (n == 1) { cout input[i]; for (int i = 0; i < n; i++) { tree.push_back(vector(n, 0)); for (i..

백준] 7568 - 덩치(한국정보올림피아드 2013;KOI 2013 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫 줄에는 전체 사람의 수 N이 주어진다. 그리고 이어지는 N개의 줄에는 각 사람의 몸무게와 키를 나타내는 양의 정수 x와 y가 하나의 공백을 두고 각각 나타난다. 단, 2 ≤ N ≤ 50, 10 ≤ x,y ≤ 200 이다. 출력여러분은 입력에 나열된 사람의 덩치 등수를 구해서 그 순서대로 첫 줄에 출력해야 한다. 단 각 덩치 등수는 공백문자로 분리되어야 한다. 소스코드#include #include #include using namespace std; struct person { int weight; int height; int bigger; int originIdx; }; int compareBigger(const struct person a, cons..

백준] 6160 - Election Time(USACO 2008)

시간 제한 : 1초메모리 제한 : 128MB 입력Line 1: Two space-separated integers: N and KLines 2..N+1: Line i+1 contains two space-separated integers: A_i and B_i 출력Line 1: The index of the cow that is expected to win the election. 소스코드 #include #include #include using namespace std; struct cow { int first; int second; int originIdx; }; bool compare(const struct cow &a, const struct cow &b) { return a.first > b...

백준] 13163 - 닉네임에 갓 붙이기(UCPC 2016)

시간 제한 : 1초메모리 제한 : 512MB 입력첫 번째 줄에는 닉네임의 수 N(1 ≤ N ≤ 100)이 주어진다. 두 번째 줄부터 N개의 줄에는 음절 단위로 쪼갠 닉네임이 주어진다. 각 줄은 알파벳 소문자와 공백만으로 이루어지며, 쪼갠 닉네임의 총 길이(공백 포함)는 100을 넘지 않는다. 쪼갠 닉네임에는 1개 이상의 공백이 존재한다. 출력각 줄에 하나씩 갓을 붙인 닉네임을 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, sIdx, len; cin >> n; cin.ignore(); while (n--) { string str; getline(cin, str); len = str.length(); for (int i =..

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

728x90