본문 바로가기

Solutions

PKU 2719. 이상한 속도계. 솔루션코드. #include #include #include #include using namespace std; int main() { int data, i, sum, a; while (cin >> data) { if (data == 0) { break; } sum = data; i = 1; cout 더보기
PKU 2719. Faulty Odometer. [판정:AC] 크하하하 이건 뭐 제 포스팅을 미뤄놓고 놀다보니 문제풀 시간은 남는군요 풀이는 간단합니다 주어진 input에 대해서 input보다 작은 자연수들 중에 4가 하나라도 들어가는 것의 개수를 세어서 input에서 빼주면 됩니다 dscanf함수는 scanf함수를 가지고 응용한 함수입니다 이전에도 문제풀 때 종종 사용하였고 앞으로도 종종 쓰겠지요 scanf로 입력받은 숫자를 그대로 반환하는 기능을 합니다 (앞의 d는 scanf에서 %d로 입력받아서 -_-;) length함수는 input의 자리수를 구하는 함수입니다 를 include하여 [1 + log10(num)]을 구해도 같은 결과가 나올 것이고, 와 를 include하여 itoa와 strlen을 이용해도 같은 결과가 나올 것이라 짐작합니다 pow10함수는 1.. 더보기
포스트 연기 공지 -_-;; -------------------------------------------------------------------------------------------- 연기 사유 : ...... 자료 압박 연기 일자 : 2. 17 화 재연재 일정 : 2. 19 목 이전까지 -------------------------------------------------------------------------------------------- 변명의 변-_- 후배녀석이 컴을 중고로 17만원 주고 사왔습니다. .... 실제 가격대는 약 30만은 써야 되는 가격대. +로 서로 밸런스도 캐안습. -_-; 계속 고치다 고치다 오늘 끝장 봤습니다. CPU도 탄거 커버 불가, 보드도 막장, 하드도 캐막장. -_-.. 더보기
PKU 1904, 2551 AC 확인 했습니다. 둘다 AC입니다만, 1904 타임이 엽기군요 ㄱ- 더보기
UVa 200. Rare Order AC get =_= #include #include #include #define FUCKYOUSPARKING 100 int graph[FUCKYOUSPARKING][FUCKYOUSPARKING]; int out_degree[FUCKYOUSPARKING]; int degree[FUCKYOUSPARKING]; char prev[255]; char curr[255]; // 문자 비교 파트에요. -_- void fuckingJAVA(char *a, char *b, int graph[FUCKYOUSPARKING][FUCKYOUSPARKING], int degree[FUCKYOUSPARKING], int out_degree[FUCKYOUSPARKING]) { int firstChar = *a - 'A', secondChar = *b.. 더보기
UVa 112. Tree summing by Java. AC. -_-..... package test; import java.io.*; public class Main { static DataInputStream dis; static int target; static boolean what; static boolean plus; public static boolean getTarget() throws Exception { int temp1, start = 0; while (((temp1 = dis.read()) != -1)) { if (temp1 == '-') { plus = false; start++; continue; } if (temp1 == '(') { what = true; return true; } if (temp1 == -1) { return false; } if (t.. 더보기
PKU 1145, UVa 112 Tree summing by Java. RE. package test; import java.util.*; import java.io.*; import java.util.regex.MatchResult; public class Main { static Scanner sc; static MatchResult mc; static int target; static String temp; static DataInputStream dis; static int level = 0; public static String getTree() throws Exception { int temp1; String buffer = new String(); do { temp1 = dis.read(); if (temp1 == ' ' || temp1 == '\n' || temp1 .. 더보기
PKU 2551. Ones. Wait for Server-_- #include using namespace std; int main() { int n, i, sum; while(cin >> n) { for(i = 1, sum = 1; sum % n; i++) { sum = (sum % n * 10) + 1; } cout 더보기
PKU 1904. King's Quest. Wait for Server-_- #include #include const int SHIT = 3000; using namespace std; int iPrinceChoice[SHIT][SHIT], temp1[SHIT][SHIT] = {0}, temp2[SHIT][SHIT] = {0}; int iUserStack[SHIT], iTopOfStack, iChecker; int iPlayBoy[SHIT] = {0}, label[SHIT] = {0}; void DFS_1(int fuck); void DFS_2(int fuck); int main() { int i, j, k, n; int iPrincess[SHIT]; scanf("%d", &n); for (i = 1; i 더보기
PKU 1904. King's Quest. TLE 비재귀함수까지 #include #include #include struct _prince_ { int love[2001]; int marry[2001]; int n; }prince[2001]; int married_prince[2001]; int n; int stack[2][2001]; int *top[2]={&stack[0][0],&stack[1][0]}; void push(int stack_num, int value) { *top[stack_num]++=value; } int pop(int stack_num) { return *(--top[stack_num]); } int is_stack_empty() { if(top[0] == &stack[0][0]) return 1; return 0; } void input().. 더보기
PKU 2551. Ones. [판정:AC] 휴 TLE에 걸릴 줄 알았는데 다행스럽게도 AC받았습니다 :) int형을 가지고 문제를 풀려고 하면 오버플로우에 걸리기 때문에 큰 수를 저장할 수 있는 구조체 numstring을 만들었습니다 ones함수는 그 구조체에 len개의 1을 저장하는 기능을 하고, division함수는 구조체를 divisor로 나눈 나머지를 return합니다 main함수에서는 n을 입력받은 후에 최소 1개, 최대 LENBOUND개의 1을 저장하고 있는 구조체로 나누어서 그 나머지가 0이 되었을 때 break문을 타고 빠져나옵니다 참 쉽죠? #include #define LENBOUND 10000 #define ARRBOUND 2500 // LENBOUND/4 typedef struct numstring { int length; .. 더보기
PKU 1904. King's Quest. TLE #include #include #include struct _prince_ { int love[2001]; int marry[2001]; int n; }prince[2001]; int married_girl[2001]; int n; void input() { int i, j ,k; scanf("%d",&n); for(i=0; i 더보기
PKU 1904. King's Quest. WA 그냥 모든 경우의 수를 탐색하는 방법입니다. #include struct _prince_ { int love[2001]; int marry[2001]; int n; }prince[2001]; int married_girl[2001]; int n; void input() { int i, j ,k; scanf("%d",&n); for(i=0; i 더보기
PKU 1298. The Hardest Probelm Ever [AC] #include #include int main(void) { char order[15],in[200]; int i; while(1){ gets(order); //scanf("%s",order); //fflush(stdin); i=0; if(strcmp(order,"START")==0) gets(in); else if(strcmp(order,"END")==0){ while(in[i]!='\0'){ if(in[i] >= 'F' && in[i] = 'A') printf("%c",'Z'+in[i]-'E'); else printf("%c",in[i]); ++i; } printf("\n"); } else if(strcmp(order,"ENDOFINPUT")==0) break; } return 0; } 네 갑자기 .. 더보기
PKU 3438. Look and Say [AC] #include int main(void) { int a,b,i,j; char str[1001]; scanf("%d",&a); for(i=0;i 더보기
PKU 3030. Nasty Hacks [AC] #include int main(void){ int teca,i,j; int in[3]; int re1,re2; scanf("%d",&teca); for(i=0;i 더보기
PKU 2521. How much did the businessman lose [AC] #include int main(void) { int in[4],i,result; while(1){ for(i=0;i 더보기
PKU 2636. Electrical Outlets [AC] #include int main(void) { int a,i,j,in1,in2,full; scanf("%d",&in1); //테스트 케이스의 개수 for(i=0;i 더보기
PKU 1953. World Cup Noise. AC 정상코드 #include int fib(int a) { int bef=1, sum=1, cnt; for(cnt=1; cnt 더보기
PKU 1953. World Cup Noise. AC get -_- #include int main() { int arr[45], a, b, cnt, i; arr[0] = 1; arr[1] = 2; scanf("%d", &cnt); for (i = 1; i 더보기
PKU 2845. 01000001. AC get -_-! #include #include #include #include using namespace std; int main() { int carry, cnt, i, j, k; char temp1[256], temp2[256], result[256], temp3[256]; scanf("%d", &cnt); for (i = 0; i strlen(temp1)) { strcpy(temp3, temp2); strcpy(temp2, temp1); strcpy(temp1, temp3); strcpy(temp3, ""); } j = strlen(temp1) - 1; k = strlen(temp.. 더보기
PKU 1953. World Cup Noise. [판정:AC] 언뜻 보기에 어렵게 느껴질 수 있으나, 단순한 피보나치 수열의 응용에 지나지 않습니다 :) #include int fibonacci( int n ) { if( n 더보기
PKU 2845. 01000001. WA #include #include void scan(int *a) { int i, len; char tmp[90]; scanf("%s",tmp); len=strlen(tmp); len--; i=89; while(len>=0) { a[i--]=tmp[len--]-'0'; } } void sum(int *a, int *b) { int i, j; i=89;//a,b while(i) { a[i]+=b[i]; for(j=i; a[j]>=2; j--) { a[j-1]++; a[j]-=2; } i--; } } void print(int *a) { int i=0; while(a[i]==0)i++; while(i 더보기
PKU 2845. 01000001. WA #include #include #include #include int todec(char *string) { int i, lenth, sum=0; strrev(string);//뒤에서부터 1,2,4,8 귀찮아서 뒤집어서해봤어요. lenth=strlen(string); for(i=0;i 더보기
PKU 1089. Intervals. [판정:WA] 알고리즘을 약간 수정해서 TLE는 빠져나왔지만 WA군요 어디가 틀린건지 -_-; #include #include typedef struct interval { int lb; // lower bound int ub; // upper bound struct interval *prev; struct interval *next; } interval; typedef struct ilist { interval *head; interval *tail; int count; } ilist; void listinit( ilist *il ); int size( ilist *il ); interval* popFirst( ilist *il ); void iswap( interval *ix, interval *iy ); void.. 더보기
PKU 2845. 01000001. [판정:AC] 쩝; 정답률은 약 30%로 비교적 낮은 편에 속하는 것 같지만, 풀어보니 그런대로 쉽군요 이 문제를 야심차게 준비한 스파킹한테는 심심한 사과를.. ㅋㅋ #include #include typedef struct binary { char digit[81]; } binary; void clear( binary *b ) { int i; for( i = 0; i digit[i] = 0; } } void assign( binary *b ) { char digit[81]; int length; int i; int j; scanf("%s", digit); length = strlen(digit); i = 81 - length; for( j = 0; i < 81; i++, j++ ) { .. 더보기
PKU 1089. Intervals. [판정:TLE] (아나 새해 첫 글이 TLE라니 ㅋㅋㅋㅋㅋㅋㅋㅋ) 또 TLE입니다 -_-; #include #include typedef struct point { int value; int type; } point; void swap( int *x, int *y ) { int temp; temp = *x; *x = *y; *y = temp; } void bubbleSort( point *pp, int size ) { int i; int j; for( i = 0; i i; j-- ) { if( pp[j-1].value > pp[j].value ) { swap( &pp[j-1].value, &pp[j].value ); swap( &pp[j-1].type.. 더보기
PKU 1089. Intervals. [판정:TLE] 나름 자료구조를 배웠다고 써먹어볼려고는 하는데 좀 쓸모가 있어야지 써먹든가 하지요 -_- #include using namespace std; class interval { public: int lb; // lower bound int ub; // upper bound interval *prev; interval *next; interval(); }; interval::interval() { lb = 0; ub = 0; prev = NULL; next = NULL; } class ilist { public: interval *head; interval *tail; int count; ilist(); int size(); bool insertLast( int a, int b ); interval* popF.. 더보기
PKU [1298]. The Hardest Problem Ever. [AC] #include #include char input[200]; char empty[100]; int main(void) { int i, length; while(1) { gets(empty); if(!strcmp(empty, "ENDOFINPUT")) { break; } gets(input); length = strlen(input); if(strcmp(input, "START") || strcmp(input, "END")) { for(i=0 ; i '@' 따라서 A , B, C, D, E 에 대해 처리를 해 줘야 하죠. 이 다섯 문자의 경우, 21을 더해 주면 문제의 조건을 만족합니다. - 'Z' 의 아스키 코드값은 90이기 때문이죠. - 더보기
PKU 1298. The Hardest Probelm Ever. AC #include int main() { char string[101]; int i; while(1) { gets(string); if(strcmp("ENDOFINPUT",string)==0) return 0; if(strcmp("START",string)==0 || strcmp("END",string)==0) continue; for(i=0; string[i]!=0; i++) { if (string[i]='A') printf("%c",string[i]+21); else if (string[i]>'E' && string[i] 더보기