728x90

프로그래밍 410

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

코틀린(Kotlin)으로 작성한 안드로이드 블루투스 리모컨 예제

https://twinparadox.tistory.com/132 위 링크에 올린 블루투스 리모컨으로 조종하는 아두이노 선풍기에 어플리케이션 코드가 없었다. 프로젝트를 정리해 올리면서 아두이노 스케치 코드는 올렸는데, 어플리케이션 코드는 찾지 못해서 올리지 못한 상태였는데 최근 코틀린을 배우면서, 코틀린도 연습할 겸, 잃어버린 프로젝트의 주권(?)을 되찾을 겸, 리모컨을 다시 만들었다. 소스에 대해 간략히 설명하자면, SelectDeviceActivity는, 블루투스 장치를 검색 및 선택하는 액티비티고, ControlActivity는 해당 장치를 컨트롤하는 액티비티로, 여기서는 리모컨 역할을 하는 액티비티다. 깃허브 주소 : https://github.com/Twinparadox/ArduinoFan-wit..

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

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

728x90