728x90

알고리즘 246

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

백준] 2110 - 공유기 설치

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 한 줄에 하나씩 주어진다. 출력첫째 줄에 가장 인접한 두 공유기 사이의 최대 거리를 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { int n, c, start = 1, mid, end, cnt = 0, ans = 1; cin >> n >> c; vector coord(n); for (int i = 0; i < n; i++) ci..

백준] 2615 - 오목(KOI 2003 초등부, ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력19줄에 각 줄마다 19개의 숫자로 표현되는데, 검은 바둑알은 1, 흰 바둑알은 2, 알이 놓이지 않는 자리는 0으로 표시되며, 숫자는 한 칸씩 띄어서 표시된다. 출력첫줄에 검은색이 이겼을 경우에는 1을, 흰색이 이겼을 경우에는 2를, 아직 승부가 결정되지 않았을 경우에는 0을 출력한다. 검은색 또는 흰색이 이겼을 경우에는 둘째 줄에 연속된 다섯 개의 바둑알 중에서 가장 왼쪽에 있는 바둑알(연속된 다섯 개의 바둑알이 세로로 놓인 경우, 그 중 가장 위에 있는 것)의 가로줄 번호와, 세로줄 번호를 순서대로 출력한다. 소스코드#include using namespace std; int board[19][19], boardSize = 19; int dir[4][..

백준] 4963 - 섬의 개수(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다.둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다.입력의 마지막 줄에는 0이 두 개 주어진다. 출력각 테스트 케이스에 대해서, 섬의 개수를 출력한다. 소스코드#include #include using namespace std; int dir[8][2] = { {1,0}, {0,1}, {-1,0}, {0,-1}, {1,1}, {1,-1}, {-1,1}, {-1,-1} }; int island, w, h; vector board; vector visit; void dfs(int..

백준] 2573 - 빙산(한국정보올림피아드;KOI 2006 초등부)

시간 제한 : 1초메모리 제한 : 256MB 입력첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0 이상 10 이하이다. 배열에서 빙산이 차지하는 칸의 개수, 즉, 1 이상의 정수가 들어가는 칸의 개수는 10,000 개 이하이다. 배열의 첫 번째 행과 열, 마지막 행과 열에는 항상 0으로 채워진다. 출력첫 줄에 빙산이 분리되는 최초의 시간(년)을 출력한다. 만일 빙산이 다 녹을 때까지 분리되지 않으면 0을 출력한다. 소스코드 #include #include usi..

백준] 10157 - 자리배정(한국정보올림피아드;KOI 2014 지역본선)

시간 제한 : 1초메모리 제한 : 256MB 입력첫 줄에는 공연장의 격자 크기를 나타내는 정수 C와 R이 하나의 공백을 사이에 두고 차례대로 주어진다. 두 값의 범위는 5 ≤ C, R ≤ 1,000이다. 그 다음 줄에는 어떤 관객의 대기번호 K가 주어진다. 단 1 ≤ K ≤ 100,000,000이다. 출력입력으로 제시된 대기번호 K인 관객에게 배정될 좌석번호 (x,y)를 구해서 두 값, x와 y를 하나의 공백을 사이에 두고 출력해야 한다. 만일 모든 좌석이 배정되어 해당 대기번호의 관객에게 좌석을 배정할 수 없는 경우에는 0(숫자 영)을 출력해야 한다. 소스코드#include #include using namespace std; int main(void) { int dir[4][2] = { {0,-1},..

백준] 1864 - 문어 숫자(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력한 줄에 하나씩 문어 숫자가 입력으로 주어진다. 각 숫자는 최소 한 개, 최대 여덟 개의 문어 숫자 기호로 이루어져있다. 입력으로 '#'이 들어오면 입력을 종료한다. 출력입력 받은 문어 숫자에 대응하는 십진수를 한 줄에 하나씩 출력한다. 소스코드#include #include #include using namespace std; int main(void) { while (1) { int len; long long ans = 0; string str; cin >> str; if (str == "#") break; len = str.length(); for (int i = 1; i

백준] 2436 - 공약수(한국정보올림피아드 2011, KOI 2011 전국본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 두 개의 자연수가 빈칸을 사이에 두고 주어진다. 첫 번째 수는 어떤 두 개의 자연수의 최대공약수이고, 두 번째 수는 그 자연수들의 최소공배수이다. 입력되는 두 자연수는 2 이상 100,000,000 이하이다. 출력첫째 줄에는 입력되는 두 자연수를 최대공약수와 최소공배수로 하는 두 개의 자연수를 크기가 작은 수부터 하나의 공백을 사이에 두고 출력한다. 입력되는 두 자연수를 최대공약수와 최소공배수로 하는 두 개의 자연수 쌍이 여러 개 있는 경우에는 두 자연수의 합이 최소가 되는 두 수를 출력한다. 소스코드#include #include using namespace std; int gcd(int a, int b) { if (a < b) return g..

728x90