본문 바로가기

C/C++

PKU 2234. Matches Game. AC get -_-;;; #include int main() { int n, k, sum; while (~scanf("%d", &n)) { sum = 0; while (n--) { scanf("%d", &k); sum ^= k; } if (sum) { printf("Yes\n"); } else { printf("No\n"); } } return 0; } 쩝... 초 간결한 코드입니다. -_-;; 그냥 단순하게 정해진 최대치를 서로 계속 가져간다 했을때, 정해진 최대치에 맞아 떨어져서 최종 갯수가 0이 아니면 이긴거고, 0이면 진거지요 뭐 =ㅁ=;; 더보기
PKU1455. Crazy tea party. AC get.. #include using namespace std; int main() { int cases, i, n, result, a, b; cin >> cases; for (i = 0; i > n; if(n % 2 == 0) { result = (n / 2 - 1) * n / 2; } else { a = n / 2; b = n - n / 2; result = ((a-1) * a + (b - 1) * b) / 2; } cout 더보기
Generic Algorithm with C++, 06 - Template Set -_-.... 크흑. set은 그나마 자료가 좀 적네요. -_-; ----------------------------------------------------------------------------------------------- set은 쉬운 말로 해서 '집합' 이라 부릅니다. 참 재미있는 녀석인데요... 고등학교 수학 1학년 과정(중학수학에도 있었나는 가물가물해서 기억 잘 안납니다. 군입대가 코앞인데 ㅡ,.ㅡ....;;) 에서 존재하는 집합녀석. 집합인 set에는 동일한 원소가 여러개 존재할 수 없습니다. 동시에, 쓰기 편하라고 알아서 작은 값부터 정렬해둡니다-_- 반복자 이터레이터가 존재하며, 삽입과 삭제가 간편하고, 미리 정렬을 해 두는데다가, 정렬메소드가 없기 때문에 내부 값을 마음대로 바꿔버리면 참 .. 더보기
Generic Algorithm with C++, 05 - Template Queue -_-! 크흘흘. 이번엔 큐 갑니다~ ------------------------------------------------------------------------------------------------- 큐는 대략 저런 녀석이란건 아시지요? 양쪽이 다 뚫린 파이프이긴 한데, 한쪽으로만 넣고, 한쪽으로만 뺄 수 있는 구조라고 보시면 되요. 마치 총이랑 비슷하다고 할까요. 탄창 맨 위에 있는 녀석이 맨 먼저 발사되지 않습니까? 대신 총구에 총알이 여러개 들어있는 안습상황은 없다는거... ㅋㅋ #include #include using namespace std; int main() { queue que1; // que1이라는 이름으로 큐를 생성합니다. que1.push(3); // que1에 3을 집어넣지요... 더보기
Generic Algorithm with C++, 03 - Template List-_-! 클클 손이 부어서 아직 완전히 제대로 굴릴수는 없습니다만, 그래도 좀 할만합니다. 일이 적응이 됐다고나 할까. 습진때문에 그만두려 했는데 구정까진 일을 계속 해야 할 듯 합니다. 그럼 이만 글 시작합지요 -_-! ---------------------------------------------------------------------------------------- #include using namespace std; list iListFirst; list::iterator iListIter 오늘도 시작되는 STL 포스팅. STL이 뭔 물건인지는 1번째에서 설명드렸지요? ㄲㄲㄲㄲ 이번엔 Linked List입니다. List.h 파일과 List.cpp 파일을 찾아보면 이중연결인지 단일연결 리스트인지 알.. 더보기
Generic Algorithm with C++, 02 - Template Vector. 우후. 오늘도 야근이 없었습니다만... 라인이 몇번 연타로 끊겨먹는 바람에 날뛰었더니 손이 쪼까 개판이네요. 오타 있음 꼭 지적해 주시길... -_-; ------------------------------------------------------------------------------------- Vector 템플릿은 이전 포스트에서 코드 예시로 보였던 것처럼 vector를 인클루드 시켜야 합니다. vector.h가 아니니 주의하시길... Vector 템플릿 클래스는 "동적 배열" 이라고 보시면 됩니다. 가장 간단한 것부터 보도록 하지요. #include #include using namespace std; int main() { vector va1; cout 더보기
Generic Algorithm with C++, 01 - Introduction to STL. 새로운 시리즈로군요. 이번엔 좀 길게 가야 할듯... -_-;; 이번 오는 주 부터는 야근이 없다니 vi의 분석 포스트도 재개가 가능하지 싶습니다. ------------------------------------------------------------------------------------------ STL은 Standard Template Library의 약자입니다. 앞에 머릿글자만 따서 STL 이 되지요. 근데, 라이브러리는 라이브러리인데 템플릿은 도대체 뭐냐? 라고 물으신다면... 뭐... -_-;; 뭐라 설명드려야 할 지 모르곘군요. 대략 그냥 뭐 그러려니 해주시길... -_-; 제대로 설명하자면 페이지 할애량이 지나치게 많아지므로, 개략적인 설명만 하겠습니다. Template 같은 뼈대.. 더보기
PKU 3438. Look and Say. AC get~ -_-! #include #include using namespace std; int main() { string temp; int cases, i, cnt, lastindex; cin >> cases; while (cases--) { i = 1; cnt = 1; getline(cin, temp); if (temp == "") { cases++; continue; } while (temp[i] != '\0') { if (temp[i - 1] == temp[i]) { cnt++; } else { cout 더보기
PKU 2636. 전기콘센트(?) AC get~-_- #include using namespace std; int main() { int N, K, sum, s; cin >> N; while(N--) { cin >> K; sum = 0; while (K--) { cin >> s; sum += s; sum--; } cout 더보기
PKU 2388. 누가 중간 녀석이냐? AC get~ #import int i=-1,buf[9999];int main(){while(cin>>buf[i++]);sort(buf,buf+i-1);cout 더보기
PKU 1804. 뇌인간(?) get AC~ #include #include using namespace std; int main() { int x, y, i, j, n, data, buf[1000], cnt; cin >> n; for (x = 1; x > data; cnt = 0; for (y = 0; y > buf[y]; } for (i = data - 2; i >= 0; i--) { for (j = 0; j buf[j + 1]) { cnt++; swap(buf[j], buf[j + 1]); } } } cout 더보기
재미있는 소스코드 하나 가져왔습니다. #include #include using namespace std; int main() { __int64 tc, num, i, j, x, k, l; __int64 a, b, c; cin>>tc; l = 1390000; while(tc--) { cin>>num; for (i = 1; ;i++) { a = (int)log10((double)i); b = (int)pow(10., (double)a); k = (a * b + (1 - b)/9) + (i - (b - 1)) * (a + 1); if (num = x * ((int)log10((double)x) + 1); x *= 10) { num -= x * ((int)log10((double)x) + 1); } x /= 9; a = (int)log10((dou.. 더보기
stl vector 사용 vector는 기존 배열의 단점을 유지보수하여 나온............ 설명하자면 긴 글이 되니.. 유동적 배열이라고 보시면 됩니다. 중간의 원소를 삭제하면 저절로 뒤의 나머지 원소들이 앞으로 당겨집니다. 사용하시려면 #include //해주시고 using namespace std; vector v; //이렇게 선언합니다. int대신 float,double,자신이 만든 클래스 등등 넣으시면 됩니다. vector에 값을 넣으려면 push_back()함수를 사용합니다. 가장 마지막에 원소를 추가하는 함수입니다. v.push_back(1);하면 v[0]에는 1이 들어가게 됩니다. vector는 배열처럼 접근할 수도 있죠. v.push_back(2);를 하면 v[1]에는 2가 들어가게 되지요. vector의 .. 더보기