์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- OS
- web
- error
- ์์ ์ ๋ ฌ
- BFS
- ๋ฌธ์์ด
- java
- ๊ทธ๋ฆฌ๋
- dynamic debugging
- ์ต๋จ ๊ฒฝ๋ก
- ๊ตฌํ
- CVE
- Reversing
- ๋ถํ ์ ๋ณต
- thymeleaf
- ์ฐ์ ์์ ํ
- ๋์ ํฉ
- dfs
- c++
- ์ด๋ถ ํ์
- ์ฌ๊ท
- ๋ฐฑํธ๋ํน
- ๋ฐ์ดํฌ์คํธ๋ผ
- JPA
- ์๋ฎฌ๋ ์ด์
- ๋งต
- Spring
- ์คํ
- DP
- GCP
- Today
- Total
๋ชฉ๋ก๐ PS/Algorithm (71)
hades
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/7569 ๐ ์ค๊ณ์ต์ ํ ๋งํ ๊ฐ ์ธ์ ํ ์ต์ง ์์ ํ ๋งํ ์ ์ํฅ์ ์ค๋ค. BFS ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์์์ฐจ๋ฆด ์ ์๋ค. ์ฒ์์ ์ต์ ํ ๋งํ ๋ฅผ ํ์ ๋ด๋๋ค. ๋ ๋ง๋ค ์ต์ ํ ๋งํ ์ ์ํฅ๋ ฅ์ ํ์ฌํ๋ค. ์ฃผ๋ณ์ ํ ๋งํ ๊ฐ ์ต์ง ์์ ํ ๋งํ ๋ผ๋ฉด, ์ต๊ฒ ๋ง๋ค๊ณ , ๊ทธ ํ ๋งํ ๋ฅผ ํ์ ๋ด๋๋ค. ์ฃผ์ํด์ผํ ๊ฒ์ ๋ ๋ง๋ค ์ต์ ํ ๋งํ ์ ์ํฅ๋ ฅ์ ํ์ฌํ๋๋ฐ, ์ํฅ์ ๋ฐ์ ํ ๋งํ ๊ฐ ์๋ค๋ฉด, day๋ฅผ ์ฆ๊ฐ์ํค๋ฉด ์๋๋ค. ๐ ํ์ด#include #include using namespace std;int dh[] = { -1,1,0,0,0,0 };int dl[] = { 0,0,0,0, -1,1 };int dw[] = { 0,0,-1,1,0,0 };int m, n, h, da..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/5525 ๐ ์ค๊ณIOIOIOIOI์์ n=1์ด๋ผ๋ฉด 4, n=2๋ผ๋ฉด 3, n=3์ด๋ผ๋ฉด 2, n=4๋ผ๋ฉด 1์ด ๋๋ค.IOI์ ๊ฐ์๊ฐ 4์ด๋ฏ๋ก, ๊ฒฐ๊ณผ๊ฐ์ IOI ๊ฐ์ + 1 - n์ด๋ค. ๐ ํ์ด#include #include #include using namespace std;int n, m;string s;int result = 0;int main(void){ cin >> n >> m >> s; for (int i = 0; i 0){ result += count+1-n; } } cout ๐ ๋ฉ๋ชจIOI์ ๊ฐ์๋ณด๋ค n์ด ํฐ ๊ฒฝ์ฐ, ์์๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด์ ์ถ๊ฐํด์ผ ํ๋ค.
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/5430 ๐ ์ค๊ณR์ด๋ฉด ๋ค์ง๊ณ , D์ด๋ฉด ๋งจ ์์ ์๋ ์ซ์๋ฅผ ์ญ์ ํด์ผ ํ๋๋ฐ, R์ผ ๋๋ง๋ค ๋ค์ง๋๋ฐ ์๊ฐ์ด ๋ง์ด ์์๋๋ค.๋ฐ๋ผ์, ์ ๋ค์์ ์ญ์ ๋ฅผ ํ ์ ์๋ ๋ฑ์ ์ด์ฉํ๋ค. ์ ๋ ฅ์ ๊ดํธ์ ์ผํ๊ฐ ํฌํจ๋์ด ์ ๋ ฅ๋๋ฏ๋ก, ์กฐ๊ฑด๋ฌธ์ ํตํด ์ซ์๋ค์ ๋ด์์ผ ํ๋ค.[ ๋ผ๋ฉด ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ํ ํ์๊ฐ ์๋ค., ๋๋ ] ๋ผ๋ฉด ์ซ์๋ฅผ ๋ฑ์ ๋ด๋๋ค.์ด์ธ๋ผ๋ฉด, ์ซ์๋ฅผ ๊ตฌ์ฑํ๋ค. ์ถ๋ ฅ, ์ญ์ ํ ๋ ์์์๋ถํฐ ํ ์ง ๋ค์์๋ถํฐ ํ ์ง ๊ฒฐ์ ํ๊ธฐ ์ํด sign์ด๋ผ๋ ๋ณ์๋ฅผ ์ค์ ํ์๋ค. 0์ด๋ฉด ์์์๋ถํฐ, 1์ด๋ฉด ๋ค์์๋ถํฐ, 2์ด๋ฉด ๋น์ด์๋๋ฐ ์ญ์ ํด์ error์ธ ๊ฒฝ์ฐ์ด๋ค. ๐ ํ์ด#include #include #include using namespace std;..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/2667 ๐ ์ค๊ณ1๋ก ๊ตฌ์ฑ๋ ์นธ๋ค์ด ์๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ํ๋์ ๋จ์ง๋ผ๊ณ ํ๋ค๋ ๊ฒ์์ BFS์์ ์์์ฐจ๋ฆด ์ ์๋ค. ์ง๋์ ์นธ์ ๋ํ์ฌ ๋ฐ๋ณต๋ฌธ์ ์ํํ๊ณ , 1์ธ ์นธ์ด ์์ผ๋ฉด, ๊ทธ ์นธ์ด ๋จ์ง๋ฅผ ๊ตฌ์ฑํ๋ ์์์ ์ด๋ค. ๋ฐ๋ผ์, ๋จ์ง ๊ฐ์๋ฅผ 1 ์ฆ๊ฐ์ํค๊ณ , BFS๋ฅผ ์คํํ์ฌ ๋จ์ง๋ฅผ ๊ตฌ์ฑํ๊ณ ๋์ด๋ฅผ ๋ฐํํ๋ค. ๋ฐํํ ๋์ด๋ ์ค๋ฆ์ฐจ์ ์ฐ์ ์์ ํ์ ๋ด์ ์ถ๋ ฅํ์๋ค. ๐ ํ์ด#include #include #include #include using namespace std;int dx[] = {-1,1,0,0};int dy[] = {0,0,-1,1};int n, count = 0;string row;vector> mapp(25, vector(25))..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/2630 ๐ ์ค๊ณํ์ฌ ์์ข ์ด์ ๋ชจ๋ ์นธ์ ์์ด ๊ฐ์ง ์์ผ๋ฉด 4๋ฑ๋ถํด ๋๊ฐ๋ ๋ฌธ์ ์ด๋ค. ์ฌ๊ท๋ก ํด๊ฒฐํ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํด๋ณด๋ฉด, O(2^7*2^7+2^6*2^6*2^2+2^5*2^5*2^2*2^2...)=O(2^14*8)=O(2^17)์ด๋ฏ๋ก, ์๊ฐ ์ ํ 1์ด ๋ด์ ํด๊ฒฐํ ์ ์๋ค. ์ฌ๊ทํจ์์ ์์์ ๊ณผ ํ์ฌ ์์ข ์ด์ ๋ณ์ ๊ธธ์ด๋ฅผ ์ ๋ฌํ๋ค. ์นธ์ ์์ด ํ๋๋ผ๋ ๋ค๋ฅด๋ฉด ์๋ผ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น๊ต ๋์์ ์์์ ์ ์์ผ๋ก ํ์๋ค. ํ์ฌ ์์ข ์ด์ ๋ชจ๋ ์นธ์ ํ์ธํ๋ฉด์ ๋ค๋ฅธ ์์ ๊ฐ์ง ์นธ์ด ์๋ค๋ฉด, 4๋ฑ๋ถํ ์์ข ์ด๋ฅผ ๋ํ๋ด๋ ์ฌ๊ทํจ์๋ฅผ ์คํํ๋ค. ํ์ฌ ์์ข ์ด์ ๋ชจ๋ ์นธ์ ํ์ธํ๋ฉด์ ๋ค๋ฅธ ์์ ๊ฐ์ง ์นธ์ด ์๋ค๋ฉด, ์์์ ์ ์๊ณผ ๋ชจ๋ ๊ฐ๋ค๋ ์๋ฏธ์ด๋ฏ..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/2606 ๐ ์ค๊ณ1๋ฒ๊ณผ ์ฐ๊ฒฐ๋ ์ปดํจํฐ๋ค์ด ๊ฐ์ผ๋๋ค๋ ๊ฒ์์ BFS๋ฅผ ํ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ์ค๋ณตํด์ ํ์ ๋ด์ง ์๋๋ก ์ค๊ณํ์๋ค. ๐ ํ์ด#include #include #include #include #include using namespace std; int n, m, a, b, result=0;vector> adj_list(101);vector visited(101);queue q;void bfs(){ visited[1] = true; q.push(1); while (!q.empty()){ int x = q.front(); q.pop(); for (int i=0; i> n >> m; for (i..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/2579 ๐ ์ค๊ณ์์์ ์ ๊ณ๋จ์ ํฌํจ๋์ง ์๋๋ค. ํ ๊ณ๋จ์์๋ ๋ค์ ๊ณ๋จ์ด๋ ๋ค๋ค์ ๊ณ๋จ์ผ๋ก ์ด๋ํ ์ ์๋ค.๋ง์ง๋ง ๊ณ๋จ์ ๋ฌด์กฐ๊ฑด ๋ฐ์์ผ ํ๋ค. ์ฌ๊ท๋ก ๊ตฌํํ๋ค๋ฉด, ๊ณ๋จ์ ๊ฐ์๊ฐ 300๊ฐ์ด๋ฏ๋ก, O(2^300)์ด๋ฏ๋ก ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. ์ด๋ค ๊ณ๋จ๊น์ง์ ์ ์ ์ค ์ต๋๊ฐ์ ์ ๊ณ๋จ๊น์ง์ ์ ์+์ด๋ค ๊ณ๋จ์ ์ ์์ ์ ์ ๊ณ๋จ๊น์ง์ ์ ์+์ด๋ค ๊ณ๋จ์ ์ ์๋ฅผ ๋น๊ตํ์ฌ ๊ตฌํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, 5๋ฒ์งธ ๊ณ๋จ๊น์ง์ ์ด ์ ์๋ฅผ ๊ตฌํ๋๋ฐ, 3๋ฒ์งธ์ 4๋ฒ์งธ ๊ณ๋จ์ ์ ์๊ฐ ํ์ฉ๋๋ค๋ ๊ฒ์ด๋ค. ์ฆ, ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ์ด์ฉํ์ฌ ๊ตฌํ ์ ์๋ค. ์ด๋ค ๊ณ๋จ๊น์ง์ ์ ์๋ฅผ ๋จ์ํ ํ๋๋ก ์ ์ฅํ๋ฉด ์๋๋ค. ๋ค์ ๊ณ๋จ์์ ์ ์๋ฅผ ๊ณ์ฐํ ๋, ์ด๋ค ๊ณ๋จ๊น์ง..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/2178 ๐ ์ค๊ณ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ง๊ณ , 1์ธ ์นธ ์ค์์ ์ธ์ ํ ์นธ์ผ๋ก ์ด๋ํ ์ ์๋ค๋ ๊ฒ์์ BFS๋ผ๋ ๊ฒ์ ํ์ ํ๋ค. ์ง๋์ผํ๋ ์ต์ ์นธ์ ๊ตฌํด์ผ ํ๊ธฐ ๋๋ฌธ์, ๊ฐ ์นธ๋ง๋ค ๊ทธ ์นธ์ผ๋ก ์ค๊ธฐ๊น์ง ์ด๋ํ ์ด ์นธ์ ์๋ฅผ dp์ ์ ์ฅํ๋ค. ์ด๋ค ์นธ์ผ๋ก ์ด๋ํ์ ๋, ์ด๋ํ๊ธฐ ์ ์นธ์ด ์ ์ฅํ ๊ฐ+1์ด ์ด๋ํ ์นธ๊น์ง ์ด๋ํ ์ด ์นธ์ ์์ด๋ค. ์ด ๊ฐ๋ณด๋ค ์ด๋ฏธ ์ ์ฅํ๊ณ ์๋ ๊ฐ์ด ์๋ค๋ฉด, ์ต์ ์นธ์ ๊ตฌํ ์ ์์ผ๋ฏ๋ก, ํ์ ๋ด์ง ์๋๋ค. ๐ ํ์ด#include #include #include #include #include using namespace std; int n, m;int dx[] = {-1,1,0,0};int dy[] = {0,0,-1,1}..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/1931 ๐ ์ค๊ณํ์์ค ํ๋์ ์ต๋๋ก ๋ช ๊ฐ์ ํ์๊ฐ ๊ฐ๋ฅํ์ง ๊ตฌํด์ผ ํ๋ค. ํ์์ ์์ ์๊ฐ์ด ๋น ๋ฅธ ๊ฒ์ ๋จผ์ ๊ณ ๋ คํ๊ธฐ ์ํด์ ์ฒซ ๋ฒ์งธ๋ก ํ์์ ์์ ์๊ฐ, ๋ ๋ฒ์งธ๋ก ํ์์ ์ข ๋ฃ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ฌ ์ค๋ฆ์ฐจ์์ผ๋ก ๊ฐ์ ๊บผ๋ผ ์ ์๋ ์ฐ์ ์์ ํ๋ฅผ ๋ง๋ค์๋ค. ๊ณ ๋ คํด์ผํ ๊ฒ์ (์์ ์๊ฐ, ์ข ๋ฃ ์๊ฐ)์ด๋ผ๊ณ ํ ๋, (0, 6) ๋์ (1, 3) (3, 6)์ด ๊ฒฐ๊ณผ๊ฐ์ ๋์ถํ๋ ํ์์ ๊ฐ์์ ํฌํจ๋๋ค. ์์ ์๊ฐ์ด ๊ฐ์ฅ ๋น ๋ฅธ ํ์์ ์์ ์๊ฐ์ด ๋ค์ ํ์๊ฐ ์์ ๊ฐ๋ฅํ ์๊ฐ(next_available_time) ๋ณด๋ค ๋ค๋ผ๋ฉด, ํ ์ ์๋ ํ์๊ฐ ํ ๊ฐ ์ฆ๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ , next_available_time์ ๊ทธ ํ์์ ์ข ๋ฃ ์๊ฐ์ผ๋ก ๊ฐฑ์ ..
๐ฅ ๋ฌธ์ https://www.acmicpc.net/problem/1764 ๐ ์ค๊ณ๋ฃ์ง๋ ๋ชปํ๊ณ , ๋ณด์ง๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ ์ฐพ์์ผ ํ๋ค. ๋ฃ์ง๋ ๋ชปํ ์ฌ๋์ ์ฐ์ ์ ์ฅํ๊ณ , ๋ณด์ง๋ ๋ชปํ ์ฌ๋์ด ์ ์ฅํ ์ฌ๋ ์ค์ ์๋์ง ํ์ธํ๋ฉด ๋๋ค. ๋ฌธ์์ด์ ํค๋ก ์ ์ฅํ ์ ์๋ ๋งต์ ์ด์ฉํ์ฌ ๋ฃ์ง๋ ๋ชปํ ์ฌ๋์ ๋จผ์ ์ ์ฅํ๊ณ , ๋ณด์ง๋ ๋ชปํ ์ฌ๋์ ๋งต์์ findํ์ฌ ์๋ค๋ฉด ๊ฒฐ๊ณผ ๋ฒกํฐ์ ์ ์ฅํ๋ค. ์ ์ฅ๋ ์ฌ๋์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ ์ถ๋ ฅํ๋ค. ๐ ํ์ด#include #include #include #include #include using namespace std; int n, m;string name;map mm;vector result;int main() { cin.tie(NULL); ios_base::s..