728x90

Koi 37

백준] 2583 - 영역 구하기(한국정보올림피아드 2006; KOI 2006)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오른쪽 위 꼭짓점의 x, y좌표값이 빈칸을 사이에 두고 차례로 주어진다. 모눈종이의 왼쪽 아래 꼭짓점의 좌표는 (0,0)이고, 오른쪽 위 꼭짓점의 좌표는(N,M)이다. 입력되는 K개의 직사각형들이 모눈종이 전체를 채우는 경우는 없다. 출력첫째 줄에 분리되어 나누어지는 영역의 개수를 출력한다. 둘째 줄에는 각 영역의 넓이를 오름차순으로 정렬하여 빈칸을 사이에 두고 출력한다. 소스코드#include #include #include #include usin..

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

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

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

백준] 2484 - 주사위 네 개(한국정보올림피아드 2010;KOI 2010 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 4개의 눈이 빈칸을 사이에 두고 각각 주어진다. 출력첫째 줄에 가장 많은 상금을 받은 사람의 상금을 출력한다. 소스코드 #include using namespace std; int main(void) { int n, arr[4], max = 0; cin >> n; while (n--) { int dice[7] = { 0, }, tmp=0; for (int i = 0; i > arr[i]; dice[arr[i]]++; } for (int i = 1; i

백준] 2578 - 빙고(한국정보올림피아드 2006;KOI 2006 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 빙고판에 쓰여진 수와 사회자가 부르는 수는 각각 1부터 25까지의 수가 한 번씩 사용된다. 출력첫째 줄에 사회자가 몇 번째 수를 부른 후 철수가 "빙고"를 외치게 되는지 출력한다. 소스코드 #include using namespace std; int board[5][5]; bool isCheck[5][5]; int calls[25]; void check(int n) { for (int i = 0; i < 5; i++) fo..

백준] 15969 - 행복(한국정보올림피아드 2018;KOI 2018 전국)

시간 제한 : 2초메모리 제한 : 512MB 입력표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 학생 수 N이 주어진다. 다음 줄에는 N명의 학생 점수가 공백 하나를 사이에 두고 주어진다. 출력표준 출력으로 가장 높은 점수와 가장 낮은 점수의 차이를 출력한다. 소스코드 #include using namespace std; int main(void) { int max = -1, min = 1001, tmp, n; cin >> n; for (int i = 0; i > tmp; if (max tmp) min = tmp; } cout

백준] 2564 - 경비원(KOI 2007 지역본선 초등부)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄에 하나씩 상점의 위치가 주어진다. 상점의 위치는 두 개의 자연수로 표시된다. 첫째 수는 상점이 위치한 방향을 나타내는데, 1은 블록의 북쪽, 2는 블록의 남쪽, 3은 블록의 서쪽, 4는 블록의 동쪽에 상점이 있음을 의미한다. 둘째 수는 상점이 블록의 북쪽 또는 남쪽에 위치한 경우 블록의 왼쪽 경계로부터의 거리를 나타내고, 상점이 블록의 동쪽 또는 서쪽에 위치한 경우 블록의 위쪽 경계로부터의 거리를 나타낸다. 마지막 줄에는 동근이의 위치가 상점의 위치와 같은 방식으로 ..