록 페스티벌(FESTIVAL) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 28. 10:58
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <stdio.h> #pragma warning(disable:4996) #define MIN(a, b) (((a) < (b)) ? (a) : (b)) int N, L; double board[1001]; double cache[1001]; double getMinAverage() { double minAverage = 100.0; for (int i = 0; i <= N - L; i++) { double sum = 0.0; for (int j = i; j < i + L - 1; j++) { sum += board[j]; } cache[i] = 100.0; for (int j = i + L - 1; j < N; j++) { sum += board[j]; double partialAverage = sum / (j - i + 1); cache[i] = MIN(cache[i], partialAverage); } minAverage = MIN(minAverage, cache[i]); } return minAverage; } int main() { int C; scanf("%d\n", &C); for (int i = 0; i < C; i++) { scanf("%d %d", &N, &L); for (int j = 0; j < N; j++) { scanf("%lf", &board[j]); } printf("%.11f\n", getMinAverage()); } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
출전 순서 정하기(MATCHORDER) 정답 코드 (0) | 2015.02.04 |
---|---|
승률올리기(RATIO) 정답 코드 (0) | 2015.01.28 |
Hello World!(HELLOWORLD) 정답 코드 (0) | 2015.01.27 |
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
Hello World!(HELLOWORLD) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 27. 19:29
난이도 ☆☆☆☆☆
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> #include <string> #include <iostream> #pragma warning(disable:4996) using namespace std; int main() { int C; scanf("%d\n", &C); for (int i = 0; i < C; i++) { string input; getline(cin, input); cout << "Hello, " << input << "!" << endl; } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
승률올리기(RATIO) 정답 코드 (0) | 2015.01.28 |
---|---|
록 페스티벌(FESTIVAL) 정답 코드 (0) | 2015.01.28 |
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
Longest Increasing Sequence(LIS) 정답 코드 (0) | 2015.01.20 |
외발뛰기(JUMPGAME) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 27. 11:55
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <stdio.h> #include <string.h> #pragma warning(disable:4996) #define NO 0 #define YES 1 int cache[101][101]; int board[101][101]; int n; int canReach(int y, int x) { if ((y > n - 1) || (x > n - 1)) { return NO; } int& ret = cache[y][x]; if (ret != -1) { return ret; } int amount = board[y][x]; return ret = (canReach(y + amount, x) || canReach(y, x + amount)); } int main() { int C; scanf("%d", &C); for (int i = 0; i < C; i++) { scanf("%d", &n); for (int j = 0; j < n; j++) { for (int k = 0; k < n; k++) { scanf("%d", &board[j][k]); } } memset(cache, -1, sizeof(cache)); cache[n - 1][n - 1] = YES; int ret = canReach(0, 0); if (ret == YES) { printf("YES\n"); } else { printf("NO\n"); } } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
록 페스티벌(FESTIVAL) 정답 코드 (0) | 2015.01.28 |
---|---|
Hello World!(HELLOWORLD) 정답 코드 (0) | 2015.01.27 |
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
Longest Increasing Sequence(LIS) 정답 코드 (0) | 2015.01.20 |
타일링(TILING2) 정답 코드 (0) | 2015.01.17 |
조세푸스 문제(JOSEPHUS) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 26. 16:36
문제를 보시려면 여기를 클릭
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #include <stdio.h> #pragma warning(disable:4996) typedef struct Person { int id; struct Person *next; } Person; typedef struct { Person *last; Person *beforeTarget; int size; } List; List *list; int N, K; void pushBack(int id) { Person *newPerson = new Person; newPerson->id = id; if (list->size == 0) { newPerson->next = NULL; } else if (list->size == 1) { newPerson->next = list->last; list->last->next = newPerson; } else { // new person -> first Person *first = list->last->next; newPerson->next = first; // old last -> new person list->last->next = newPerson; } // new last = new person list->last = newPerson; list->size++; } void killTarget() { if (list->size <= 2) { return; } Person *target = list->beforeTarget->next; // before target -> target's next list->beforeTarget->next = target->next; // set list's beforeTarget Person *temp = list->beforeTarget; for (int i = 0; i < K - 1; i++) { temp = temp->next; } list->beforeTarget = temp; // remove target delete(target); list->size--; // recursive call killTarget(); } int main() { int C; scanf("%d", &C); for (int i = 0; i < C; i++) { scanf("%d %d", &N, &K); list = new List; list->size = 0; for (int j = 0; j < N; j++) { pushBack(j + 1); } list->beforeTarget = list->last; killTarget(); int id1 = list->beforeTarget->id; int id2 = list->beforeTarget->next->id; if (id1 < id2) { printf("%d %d\n", id1, id2); } else { printf("%d %d\n", id2, id1); } delete(list); } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
Hello World!(HELLOWORLD) 정답 코드 (0) | 2015.01.27 |
---|---|
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
Longest Increasing Sequence(LIS) 정답 코드 (0) | 2015.01.20 |
타일링(TILING2) 정답 코드 (0) | 2015.01.17 |
삼각형 위의 최대 경로(TRIANGLEPATH) 정답 코드 (0) | 2015.01.17 |
Longest Increasing Sequence(LIS) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 20. 08:50
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #include <stdio.h> #include <queue> #define MAX(a, b) (((a) > (b)) ? (a) : (b)) #pragma warning(disable:4996) using namespace std; typedef struct { int number; int length; } Cache; struct Compare { bool operator() (Cache left, Cache right) { return left.length < right.length; } }; int N; int board[501]; int main() { int C; scanf("%d", &C); for (int i = 0; i < C; i++) { scanf("%d", &N); priority_queue<Cache, vector<Cache>, Compare> maxHeap; for (int j = 0; j < N; j++) { scanf("%d", &board[j]); vector<Cache> temp; bool found = false; while (maxHeap.size() > 0) { Cache item = maxHeap.top(); if (item.number < board[j]) { Cache *newItem = new Cache; newItem->number = board[j]; newItem->length = item.length + 1; maxHeap.push(*newItem); found = true; break; } temp.push_back(item); maxHeap.pop(); } // if (!found) { Cache *newItem = new Cache; newItem->number = board[j]; newItem->length = 1; maxHeap.push(*newItem); } // for (int k = 0; k < temp.size(); k++) { maxHeap.push(temp.at(k)); } } printf("%d\n", maxHeap.top().length); } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
---|---|
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
타일링(TILING2) 정답 코드 (0) | 2015.01.17 |
삼각형 위의 최대 경로(TRIANGLEPATH) 정답 코드 (0) | 2015.01.17 |
보글게임(BOGGLE) 정답 코드 및 해설 (0) | 2014.11.22 |
[강좌] Android SDK Search - 설치 및 SDK 소스 보기
뿌리튼튼 CS/Android2015. 1. 17. 18:17
Chrome 웹 스토어(링크)에서 아래 그림처럼 "android sdk search"로 검색하고 맨 위에 것을 다운 받습니다. 저는 이미 받아서 평가하기 버튼인데, 여러분들은 "+ 무료" 버튼일 것입니다.
설치가 완료되면 주소창에 "ad" 를 타이핑한 후 키보드의 "Tab"키를 누르면, 아래 그림처럼 android sdk search 확장 프로그램이 적용되며 검색 준비상태가 됩니다.
"Activity"로 검색해서 아래 그림처럼 맨 위를 클릭해보겠습니다.
가장 위의 "view source"를 클릭합니다.
뚜둔!! 엄청납니다. 소스를 직접 까볼 수 있습니다. 많이 볼수록 우리 실력도 쑥쑥!
'뿌리튼튼 CS > Android' 카테고리의 다른 글
Android Studio에서 Library 추가시 쓸데없는 Duplicate 오류 대처법 (0) | 2015.06.12 |
---|---|
[강좌] 초급2 - 버튼 클릭 + 리스너 (0) | 2015.02.15 |
[강좌] 초급1 - 입문 + xml, java 파일 작성법 (0) | 2015.01.16 |
Intent 활용 예시 (0) | 2014.11.12 |
투명색 RGB 코드 (0) | 2014.11.12 |
타일링(TILING2) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 17. 16:50
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <stdio.h> #include <string.h> #pragma warning(disable:4996) int cache[101]; int getCount(int n) { if (n == 1) { return 1; } if (n == 2) { return 2; } int& ret = cache[n]; if (ret != -1) { return ret; } return ret = ((getCount(n - 1) + getCount(n - 2)) % 1000000007); } int main() { int C; scanf("%d", &C); for (int i = 0; i < C; i++) { int n; scanf("%d", &n); memset(cache, -1, sizeof(cache)); printf("%d\n", getCount(n)); } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
---|---|
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
Longest Increasing Sequence(LIS) 정답 코드 (0) | 2015.01.20 |
삼각형 위의 최대 경로(TRIANGLEPATH) 정답 코드 (0) | 2015.01.17 |
보글게임(BOGGLE) 정답 코드 및 해설 (0) | 2014.11.22 |
삼각형 위의 최대 경로(TRIANGLEPATH) 정답 코드
뿌리튼튼 CS/Algorithm2015. 1. 17. 16:44
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <string.h> #include <stdio.h> #pragma warning(disable:4996) #define MAX(a, b) ((a) > (b) ? (a) : (b)) int board[101][101]; int cache[101][101]; int n; int getSum(int y, int x) { if (y >= n - 1) { return board[y][x]; } int& ret = cache[y][x]; if (ret != -1) { return ret; } return ret = (board[y][x] + MAX(getSum(y + 1, x), getSum(y + 1, x + 1))); } int main() { int C; scanf("%d", &C); for (int i = 0; i < C; i++) { scanf("%d", &n); for (int j = 0; j < n; j++) { for (int k = 0; k <= j; k++) { scanf("%d", &board[j][k]); } } memset(cache, -1, sizeof(cache)); printf("%d\n", getSum(0, 0)); } return 0; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
외발뛰기(JUMPGAME) 정답 코드 (0) | 2015.01.27 |
---|---|
조세푸스 문제(JOSEPHUS) 정답 코드 (1) | 2015.01.26 |
Longest Increasing Sequence(LIS) 정답 코드 (0) | 2015.01.20 |
타일링(TILING2) 정답 코드 (0) | 2015.01.17 |
보글게임(BOGGLE) 정답 코드 및 해설 (0) | 2014.11.22 |