https://www.acmicpc.net/problem/18809 ์ฒซ๋ฒ์งธ ์ฝ๋ #include #include #include #include using namespace std; struct seed { int y, x; }; int map[50][50]; vector landToSeed; vector Green; vector Red; int N, M, G, R; vector g; vector r; int dir_y[4] = {0,1,0,-1}; int dir_x[4] = {1,0,-1,0}; void printVector(vector& a) { // int์ land๋ ๋ฃ์์ ์์๊น? vector::iterator iter; for (iter = a.begin(); iter != a.end(); i..
QuickSort ๋ ผ๋ฌธ brief Part One: Theory ์ด sorting์ ๋ ๊ฐ์ ๊ฐ๋จํ ๋ณด์กฐ๋ฌธ์ ๋ก ๋๋์ด ํด๊ฒฐ๋ ์ ์๋๋ฐ, ๊ฐ ๋ฌธ์ ๋ ์ด๋ฏธ ์๋ ค์ง ๋ฐฉ์์ผ๋ก ํ ์ ์๋ค. Partition : key๊ฐ์ dividing line์ ๋ฐ๋ผ ์ ์๋๋ก ๋๋์ด ์ด๋ถํ๋ ๊ฒ ์ค์ ๋ก ์ด dividing line์ ํ์น ์๊ณ , ์๋ค ํ ์ง๋ผ๋ ์ฐพ๊ธฐ ํ๋ ๋ฐ dividing line์ด ์กด์ฌํ๊ณ ๊ทธ๊ฒ์ ์์น๋ง ์๋ค๋ฉด item๋ค์ ์ฌ์ ๋ ฌํ๊ธฐ๋ ์ฌ์์ง๋ค. partition ๊ณผ์ ์ ๋ ฌ๋์ด์ผํ๋ ์์ดํ ์ ํค ์ค ํน์ ํค๋ฅผ ๊ณ ๋ฅธ๋ค. ์ด ํค๋ bound ๋ผ ๋ถ๋ฆฐ๋ค. dividing line ์๋์๋ bound๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ key๊ฐ์ด, ์์ชฝ์๋ ํฐ key ๊ฐ์ด ์ค๊ฒ ํ๋ค. dividing line์ ์์น๋ ๋ฏธ๋ฆฌ ์ ํ์..
/* 2020-03-19 ์ฐํฌ์ ์ฝ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ */ #define _CRT_SECURE_NO_WARNINGS #include #include #include #include int buffer[10000000]; // ์ ์ญ ๋ณ์๋ก ๋ฃ์ด์ผ stack overflow๊ฐ ๋์ง ์์ void fileOpen() { FILE *fp = fopen("d://algorithm/unsorted10000000.txt", "r"); int i = 0; int tmp = 0; if (fp == NULL) { printf("ํ์ผ์ ์ด ์ ์์ต๋๋ค.\n"); } while (fscanf(fp, "%d ", &tmp)!=EOF) { buffer[i++] = tmp; } fclose(fp); } void insertSortin..
์ฒซ๋ฒ์งธ ๊ณผ์ ์ด๋ค. ์๊ฐ ๋ณต์ก๋๊ฐ f(n)์ธ ์๊ณ ๋ฆฌ์ฆ์ ์์์๊ฐ์ด 1 nanosecond == 10^(-9) second ์ด๋ผ๊ณ ํ ๋, ์ผ์ชฝ์ ํ์๋ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์ชฝ์ ์๊ฐ ๋ด์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฃ๋๋ ค๋ฉด ์ต๋๋ก ์ด๋ค N๊น์ง ๊ณ์ฐํ ์ ์์์ง ์์๋ณด์. ๋ํ๋ก ํ๋๋ฅผ ๊ณ์ฐํด๋ณด๋ฉด 1sec๋ 10^(9) nanosec ์ด๋ฏ๋ก n^2์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์์ n^2 = 10^(9) ๋ก ๋๊ณ ํ๋ฉด 1sec ๋ง์ ๊ณ์ฐ๋ ์ ์๋ n ๊ฐ์ด ๋์จ๋ค. n ๊ฐ์ ๋ชจ๋ ์ ์๋ก ๊ฐ์ ํ์๋ค.
https://www.acmicpc.net/problem/18808 #include #include using namespace std; int n, m, k; int turn; int st_l, st_w; struct sticker { int x_len, y_len; }; void rotateSticker(vector& stic) { int width = stic[0].size(); int length = stic.size(); vector tmp(width, vector(length)); for (int i = 0; i < length; i++) { for (int j = 0; j < width; j++) { tmp[j][length-1-i] = stic[i][j]; } } stic = tmp; } ..
๋ฌธ์ : ๋ฐฑ์ค 17836๋ฒ _ ๊ณต์ฃผ๋์ ๊ตฌํด๋ผ! https://www.acmicpc.net/problem/17836 ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 1 ์ด 256 MB 2465 566 431 21.923% ๋ฌธ์ ์ฉ์ฌ๋ ๋ง์์ด ์จ๊ฒจ๋์ ๊ณต์ฃผ๋์ ๊ตฌํ๊ธฐ ์ํด (N, M) ํฌ๊ธฐ์ ์ฑ ์ ๊ตฌ (1,1)์ผ๋ก ๋ค์ด์๋ค. ๋ง์์ ์ฉ์ฌ๊ฐ ๊ณต์ฃผ๋ฅผ ์ฐพ์ง ๋ชปํ๋๋ก ์ฑ์ ์ฌ๋ฌ ๊ตฐ๋ฐ ๋ง๋ฒ ๋ฒฝ์ ์ธ์๋์๋ค. ์ฉ์ฌ๋ ํ์ฌ์ ๊ฐ์ง๊ณ ์๋ ๋ฌด๊ธฐ๋ก๋ ๋ง๋ฒ ๋ฒฝ์ ํต๊ณผํ ์ ์์ผ๋ฉฐ, ๋ง๋ฒ ๋ฒฝ์ ํผํด (N, M) ์์น์ ์๋ ๊ณต์ฃผ๋์ ๊ตฌ์ถํด์ผ๋ง ํ๋ค. ๋ง์์ ์ฉ์ฌ๋ฅผ ๊ดด๋กญํ๊ธฐ ์ํด ๊ณต์ฃผ์๊ฒ ์ ์ฃผ๋ฅผ ๊ฑธ์๋ค. ์ ์ฃผ์ ๊ฑธ๋ฆฐ ๊ณต์ฃผ๋ T์๊ฐ ์ด๋ด๋ก ์ฉ์ฌ๋ฅผ ๋ง๋์ง ๋ชปํ๋ค๋ฉด ์์ํ ๋๋ก ๋ณํ๊ฒ ๋๋ค. ๊ณต์ฃผ๋์ ๊ตฌ์ถํ๊ณ ํ๋ฌํฌ์ฆ ํ๊ณ ..
๋ฌธ์ : ๋ฐฑ์ค 1260๋ฒ _ DFS์ BFS ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 128 MB 87845 28912 16832 31.543% ๋ฌธ์ ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก..
๋ฌธ์ ๊ฐ์ฅ ๋ฉค๋ฒ๊ฐ ๋ง์ ์์ด๋ ๊ทธ๋ฃน์ผ๋ก ๊ธฐ๋ค์ค ๋ถ์ ์ฌ๋ผ ์๋ ํผ์ฑ ํ ๊ทธ๋ฃน ํ์ดํผ์๋์ด๊ฐ ๋ฐ๋ท 10์ฃผ๋ ๊ธฐ๋ ํฌ ๋ฏธํ ์ ๊ฐ์ตํ์ต๋๋ค. ํฌ ๋ฏธํ ์ ํ ์์๋ก, ๋ฉค๋ฒ๋ค๊ณผ ์ฐธ๊ฐํ ํฌ๋ค์ด ํฌ์น์ ํ๋ ํ์ฌ๋ฅผ ๊ฐ๊ธฐ๋ก ํ์ต๋๋ค. ํ์ดํผ์๋์ด์ ๋ฉค๋ฒ๋ค์ ์ฐ์ ๋ฌด๋์ ์ผ๋ ฌ๋ก ์ญ๋๋ค. ํฌ ๋ฏธํ ์ ์ฐธ๊ฐํ M๋ช ์ ํฌ๋ค์ ์ค์ ์์ ๋งจ ์ค๋ฅธ์ชฝ ๋ฉค๋ฒ์์๋ถํฐ ์์ํด ํ ๋ช ์ฉ ์ผ์ชฝ์ผ๋ก ์์ง์ด๋ฉฐ ๋ฉค๋ฒ๋ค๊ณผ ํ๋์ฉ ํฌ์น์ ํฉ๋๋ค. ๋ชจ๋ ํฌ๋ค์ ๋์์ ํ ๋ช ์ฉ ์์ง์ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ ํ์ฌ ๊ณผ์ ์ ์ผ๋ถ๋ฅผ ๋ณด์ฌ์ค๋๋ค. a~d๋ ๋ค ๋ช ์ ํ์ดํผ์๋์ด ๋ฉค๋ฒ๋ค์ด๊ณ , 0~5๋ ์ฌ์ฏ ๋ช ์ ํฌ๋ค์ ๋๋ค. ํ์ง๋ง ํ์ดํผ์๋์ด์ ๋จ์ฑ ๋ฉค๋ฒ๋ค์ด ๋จ์ฑ ํฌ๊ณผ ํฌ์นํ๊ธฐ๊ฐ ๋ฏผ๋งํ๋ค๊ณ ์ฌ๊ฒจ์, ๋จ์ฑ ํฌ๊ณผ๋ ํฌ์น ๋์ ์ ์๋ฅผ ํ๊ธฐ๋ก ํ์ต๋๋ค. ์ค์ ์ ๋ฉค๋ฒ๋ค๊ณผ ํฌ๋ค..
Comment