본문 바로가기

프로그램/C언어 1000제227

C언어 11제] USACO 2020 DECEMBER CONTEST, BRONZE PROBLEM 1. DO YOU KNOW YOUR ABCS? 출처 : 반크 독도 포스터 문제] Farmer John's cows have been holding a daily online gathering on the "mooZ" video meeting platform. For fun, they have invented a simple number game to play during the meeting to keep themselves entertained. Elsie has three positive integers A, B, and C (A≤B≤C). These integers are supposed to be secret, so she will not directly reveal them to her sister Bessie. Instead, she gi.. 2021. 10. 11.
C언어 10제] 2015년 한국정보올림피아드 시˙도 지역본선 초등부 문제. 쇠막대기 문제]여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.- 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다.- 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.- 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.- 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다. 이러한 레이저와 쇠막대기의 배치는 다음과 같이 괄호를 이용.. 2021. 10. 4.
C언어 9제] 깊이 우선 탐색(DFS) 이용한 프로그램 구현하기 출처] 반크 독도포스터 깊이 우선 탐색이란? (참고 : DFS) 문제] 길이 8m의 막대를 3명이서 1m단위로 자를려고 할 때 몇 번이면 1m 막대가 될 수 있는지 프로그램을 작성하시오.(단, 하나의 막대는 한 사람만 자를 수 있다.) 8 -> 4, 4 로 자른다 1명 4, 4 -> 2, 2, 2, 2로 자른다 2명 2,2,2 -> 1,1,1,1,1,1로 자른다 3명 2 -> 1,1로 자른다 1명 그러므로 총 4번을 자르면 8m 막대가 1m막대로 만들수 있게 된다. 입력 예시1] 20, 3 출력 예시1] 8 입력 예시1] 100, 5 출력 예시1] 22 참고풀이] #include //x : 최종 막대기 총수 //y : 막대기를 자를 인원수 //count : 현재 자를 막대기 개수 int Jarki_DFS.. 2021. 9. 30.
C언어 8제] 2020년도 한국정보올림피아드 1차 대회 초등부 2교시 문제2. 피자 오븐 출처 : 반크 독도포스터 문제] 피자를 구워주는 전자식 오븐이 있다. 이 오븐에 재료를 넣어 정확히 N분 동안 동작을 시키고자 한다. 그런데 이 오븐에 준비된 버튼(button)은 아래 그림과 같은 동작을 하는 5가지이다. 즉, 각각의 버튼은 동작 시간을 추가시키거나 감소시킨다. 버튼들의 기능을 하나하나 설명하면, 60분을 증가시키는 ADDH버튼, 10분을 증가시키는 ADDT버튼, 10분을 감소시키는 MINT버튼, 1분을 증가시키는 ADDO버튼, 1분을 감소시키는 MINO버튼이 있다. 시간을 감소시키는 버튼을 눌러서 시간이 0분보다 작아지는 경우는 0분으로 세팅된다. 처음에 피자 오븐의 첫 시간은 0분으로 정해져 있다. t가 현재 오븐에 세팅된 시간, t’은 버튼을 누른 뒤의 시간을 의미하는데 유의하라... 2021. 9. 17.
C언어 7제] 2020년도 한국정보올림피아드 1차 대회 초등부/고등부 2교시 문제 1. 박 터뜨리기 출처 : 반크 뉴스카드 문제] K개의 팀이 박터트리기 게임을 한다. 각 팀은 하나의 바구니를 가지고 있고 바구니에 들어있는 공들을 던겨서 자기 팀의 박을 터드려야 한다. 우리는 게임을 준비하기 위해서, N개의 공들을 K개의 바구니에 나눠 담아야 한다. 이 때, 게임의 재미를 위해서 바구니에 담기는 공들의 개수를 모두 다르게 하고 싶다. 다시 말해서, N개의 공을 K개의 바구기에 빠짐없이 나누어 담는데, 각 바구니에는 1개 이상의 공이 있어야 하고, 바구니에 담긴 공들의 개수가 모두 달라야 한다. 더불어, 게임의 불공정함을 줄이기 위해서, 가장 많이 담기 바구니와 가장 적게 담긴 바구니의 공의 차이가 최소가 되도록 담을 것이다. 공들을 바구에 나눠 담기 위한 규칙들을 정리하면 다음과 같다. 1) N개의 공.. 2021. 9. 15.
C언어 6제] 2021년 한국정보올림피아드 1차대회 초등부 2. 나누기 출처 : 반크 카드뉴스 문제] N개의 정수 수열 A1, A2,..., AN이 주어진다. 수열을 각각이 연속된 네 부분으로 나누려고 한다. 단, 각 부분은 최소 하나의 수를 포함해야 한다. 또 각 부분의 합은 모두 같아야 한다. 즉 어떤 i, j, k(1≤i<j<k<N)에 대해서 [A1,...,Ai], [Ai+1,...,Aj], [Aj+1,...Ak], [Ak+1,...AN]으로 나눈다. 예를 들어 주어진 수열이 4, -1, 2, 1, -3, 1, 2, 2, 1, 3이라고 하자. 이 수열을 아래과 같이 나누면 각 부분의 합이 달라서 허용되는 형태가 아니다. [4, -1, 2], [1, -3, 1, 2], [2, 1], [3] 아래와 같이 나눈 경우 각 부분의 합이 모두 같다. [4, -1], [2, 1],.. 2021. 9. 14.
C언어 5제] 2021년 한국정보올림피아드 1차대회 초등부 1. 지우개 문제] N개의 칸에 1 부터 N 까지의 수들이 왼쪽부터 순서대로 저장되어 있다. 또, 각 칸은 왼쪽부터 1 부터 N 까지 순서대로 번호가 붙어 있다. 즉, 처음에는 각 칸의 번호와 각 칸에 저장된 수가 같다. 아래 그림은 N = 7일 때의 예이다. 다음 작업을 수가 정확히 하나가 남을 때 까지 반복한다. (A) 홀수번 칸의 수들을 모두 지운다 (B) 남은 수들을 왼쪽으로 모은다. 제일 첫 작업의 (A) 단계가 끝나면 칸들의 상태는 다음과 같을 것이다. (B) 단계가 끝나면 다음과 같을 것이다. 두번째 작업이 진행되면 칸들은 아래 두 그림과 같이 바뀔 것이다. 이제 수가 하나 남았으므로 작업은 더 이상 진행되지 않는다. N을 입력으로 받아 위와 같이 작업을 진행했을 때 마지막으로 남는 수를 계산하는 프로그.. 2021. 8. 10.
C언어 4제] 2019년 한국정보올림피아드 1차대회 초등부 2번 - 회문 문제] [유형3] 2번 - 회문 (100점) 모든 언어에 대해 시간 제한 2초, 메모리 제한 512MB입니다. 회문 또는 팰린드룸(palindrome)은 앞 뒤 방향으로 볼 때 같은 순서의 문자로 구성된 문자열을 말한다. 예를 들어 'abba','kayak', 'reviver', 'madam'은 모두 회문이다. 만일 그 자체는 회문이 아니지만 한 문자를 삭제하여 회문으로 만들 수 있는 문자열이라면 우리는 이런 문자열을 "유사회문"(pseudo palindrome)이라고 부른다, 예를 들어 'summuus'는 5번째나 혹은 6번째 문자 'u'를 제거하여 'summus'인 회문이 되므로 유사회문이다. 여러분은 제시된 문자열을 분석하여 그것이 그 자체로 회문인지, 또는 한 문자를 석제하면 회문이 되는 "유사회.. 2021. 7. 30.
C언어 3제] 2019년 한국정보올림피아드 1차대회 초등부 1번 - 막대기 문제] [유형3] 1번 - 막대기(100점) 모든 언어에 대해 시간 제한 1초, 메모리 제한 512MB입니다. 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 6, 9, 7, 6, 4, 6 이다. 일렬로 세워진 막대기를 오른쪽에서 보면 보이는 막대기가 있고 보이지 않는 막대기가 있다. 즉, 지금 보이는 막대기보다 뒤에 있고 높이가 높은 것이 보이게 된다. 예를 들어, 그림과 같은 경우엔 3개(6번, 3번, 2번)의 막대기가 보인다. N개의 막대기에 대한 높이 정보가 주어질 때, 오른쪽에서 보아서 몇 개가 보이는 지를 알아내는 프로그램을 작성하려고 한다. 입력형식 표.. 2021. 7. 12.
C언어 2제] 임의의 정수 N, M을 입력하여 N~M까지 출력하는 프로그램을 작성하시오. ▶ 0 2021. 7. 2.
C언어 1제] 1 ~ 10까지 출력하는 프로그램을 작성하시오. 1. 단순 반복문 사용하기 참고풀이1] //1~10까지 출력하시오. #include int main() { int a; //1. while()반복문 사용하기 a=0; while(a 2021. 6. 16.
반응형