codejam 4

[GCJ] Round 1A 문제풀이

Google codejam Round 1A 문제를 풀어봤다. 주어진 v1, v2 수들에 대해 임의로 두개씩 곱한 합이 가장 작은 경우를 구하는 문제. v1, v2를 크기로 정렬한 후에 가장 큰값과 가장 작은 값을 쌍을 지으면서 곱해서 풀면 된다. ㅇ #include #include #include #define INPUT_SIZE 100000 void insertion_sort(int list[], int n) { int i, j, key; for(i=1; i= 0 && list[j] > key; j--) list[j+1] = list[j]; list[j+1] = key; } } int main() { FILE *fp; char sLine[INPUT_SIZE]; int loop_cnt; int array..

Problem Solving 2008.07.31

[GCJ] Google Codejam Qualification Round C 문제풀이

장장 7시간 정도 걸려서 푼 문제다.. 문제해법을 고민하는데 1/3정도는 고민을 한 듯.. sin, cos같은 함수를 안본지가 꽤나 오래돼고.. 원넓이 구하는 공식같은거도 기억이 안나서 찾아보면서 풀었다. 문제 요지는 파리채 구멍 영역중 파리의 중심이 위치했을때 살 수 있는 면적을 구하는 문제. 파리채의 왼쪽아래좌표와 오른쪽 위 좌표를 구해서, 면적의 모양에 따라 일일이 구해주면서 풀었다. 음 그런데. 예시의 내용이나 Smaill.in은 맞게 나오는데, Large.in을 넣으면 InCorrect가 뜬다. 무슨 이유일까 싶어 고민해 봤지만, 구체적으로 머가 틀리다는 건지가 안나와서 그냥 스킵하기로.. 소스파일 #include #include #include #define SQ(X) ((X)*(X)) #de..

Problem Solving 2008.07.31

[GCJ] Google Code Jam Qualification Round B 문제풀이

푼지는 좀 됐는데.. 기록상 올려둔다. Google codejam 2008 Qualification Round B 문제로 기차의 출발, 도착시간이 나오고, 필요한 기차대수를 구하는 문제다. NA로 가는 것들에 대해 도착시간이 늦은 순으로 정렬하고, NB로 가는 것들에 대해 출발시간이 빠른 순으로 정렬한 후, 최대한 안기다리고 바로바로 출발하도록 짝을 지어주면, 필요대수가 나옴.. list.c 소스 #include #include #include #include "link.c" #define INPUT_SIZE 100 void readList(ListNode *list_head, ListNode *list_head_R, int type, FILE *file_ptr, int list_cnt, int t); ..

Problem Solving 2008.07.31

[GCJ] Google Code Jam Qualification Round A 문제풀이

어제 Google code jam(GCJ) Qualification Round가 있었다. 어제는 업무때문에 볼 여력이 없었는데, 오늘 시간이 좀 나서 어제 기출문제(?)를 한번 풀어봤다. 문제는 A, B, C로 나오고 각 문제별로 Smaill Input, Large Input 으로 나와있다. 문제 A는 비교적 금방 이해되어서 C 문법도 공부해볼겸 C로 짜봤다. 처음에 그냥 배열로 하다보니 반복처리하는거도 잘 안되고 해서 Linked List를 간단하게 구현해서 완성했다. ㅋㅋ 나온 output을 검증해보니 smaill 과 large 모두 한번에 Correct 다. 오호; 이맛에 프로그래밍을 하는군..싶다. 문제는 다음과 같고 Smaill파일과 Large 파일이 제공됐다. Problem The urban ..

반응형