๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป457

[๋ฐฑ์ค€,c++] 16236๋ฒˆ - ์•„๊ธฐ ์ƒ์–ด ๋ฌธ์ œ 16236๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด N×N ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์— ๋ฌผ๊ณ ๊ธฐ M๋งˆ๋ฆฌ์™€ ์•„๊ธฐ ์ƒ์–ด 1๋งˆ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ณต๊ฐ„์€ 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์—๋Š” ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 1๋งˆ๋ฆฌ ์กด์žฌํ•œ๋‹ค. ์•„๊ธฐ ์ƒ์–ด์™€ ๋ฌผ๊ณ ๊ธฐ๋Š” ๋ชจ๋‘ ํฌ๊ธฐ๋ฅผ ๊ฐ€ www.acmicpc.net ์ฝ”๋“œ #include #include #include #include using namespace std; int N, _time; int map[21][21], cost[21][21]; int shark_r, shark_c, shark_size, now_eat_cnt; int dx[4] = {0,0,-1,1}; int dy[4] = {-1,1,0,0}; bool visited[21][21]; pair find_near_fish_coor(){ // ํ˜„.. 2022. 8. 28.
[๋ฐฑ์ค€,c++] 15686๋ฒˆ - ์น˜ํ‚จ ๋ฐฐ๋‹ฌ ๋ฌธ์ œ 15686๋ฒˆ: ์น˜ํ‚จ ๋ฐฐ๋‹ฌ ํฌ๊ธฐ๊ฐ€ N×N์ธ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ๋„์‹œ๋Š” 1×1ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๋„์‹œ์˜ ๊ฐ ์นธ์€ ๋นˆ ์นธ, ์น˜ํ‚จ์ง‘, ์ง‘ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋„์‹œ์˜ ์นธ์€ (r, c)์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , rํ–‰ c์—ด ๋˜๋Š” ์œ„์—์„œ๋ถ€ํ„ฐ r๋ฒˆ์งธ ์นธ www.acmicpc.net ์ฝ”๋“œ #include #include #include #include #define INF 1e9 using namespace std; int N, M; int map[51][51]; vector store; // ์น˜ํ‚จ์ง‘ ์ขŒํ‘œ bool is_store[51][51]; // ํ์—…ํ•˜์ง€ ์•Š์€ ์น˜ํ‚จ์ง‘์ธ์ง€ ์œ ๋ฌด int house_store_dist[51][51]; // ํ•ด๋‹น ์ง‘์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์น˜ํ‚จ์ง‘๊ณผ์˜ ๊ฑฐ๋ฆฌ int ans = INF; void .. 2022. 8. 26.
[๋ฐฑ์ค€,c++] 16234๋ฒˆ - ์ธ๊ตฌ ์ด๋™ ๋ฌธ์ œ 16234๋ฒˆ: ์ธ๊ตฌ ์ด๋™ N×Nํฌ๊ธฐ์˜ ๋•…์ด ์žˆ๊ณ , ๋•…์€ 1×1๊ฐœ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋•…์—๋Š” ๋‚˜๋ผ๊ฐ€ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•˜๋ฉฐ, rํ–‰ c์—ด์— ์žˆ๋Š” ๋‚˜๋ผ์—๋Š” A[r][c]๋ช…์ด ์‚ด๊ณ  ์žˆ๋‹ค. ์ธ์ ‘ํ•œ ๋‚˜๋ผ ์‚ฌ์ด์—๋Š” ๊ตญ๊ฒฝ์„ ์ด ์กด์žฌํ•œ๋‹ค. ๋ชจ www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int N,L,R, day; int map[51][51]; int line[51][51]; bool visited[51][51]; int dx[4] = {0, 0, -1, 1}; int dy[4] = {-1, 1, 0, 0}; bool line_check(){ bool flag = false; for(int i=0; i 2022. 8. 25.
[๋ฐฑ์ค€,c++] 17135๋ฒˆ - ์บ์Šฌ๋””ํŽœ์Šค ๋ฌธ์ œ 17135๋ฒˆ: ์บ์Šฌ ๋””ํŽœ์Šค ์ฒซ์งธ ์ค„์— ๊ฒฉ์žํŒ ํ–‰์˜ ์ˆ˜ N, ์—ด์˜ ์ˆ˜ M, ๊ถ์ˆ˜์˜ ๊ณต๊ฒฉ ๊ฑฐ๋ฆฌ ์ œํ•œ D๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฒฉ์žํŒ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ์นธ, 1์€ ์ ์ด ์žˆ๋Š” ์นธ์ด๋‹ค. www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int N, M, D, ans = -1, ans_temp; int map_temp[16][16], map[16][16]; void attack_enemy(vector enemy){ for(auto it: enemy){ if(it.first != 1e9 && it.second != 1e9){ if(map_temp[it.first][it.second] == 1){ map_temp[i.. 2022. 8. 25.
[๋ฐฑ์ค€,c++] 14503๋ฒˆ - ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ๋ฌธ์ œ 14503๋ฒˆ: ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฒญ์†Œํ•˜๋Š” ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์žˆ๋Š” ์žฅ์†Œ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด www.acmicpc.net ์ฝ”๋“œ #include using namespace std; int map[51][51]; int r, c, d, N, M; // d0 ๋ถ์ชฝ, d1 ๋™์ชฝ, d2 ๋‚จ์ชฝ, d3 ์„œ์ชฝ int clean_cnt = 1; int isclean[51][51]; bool flag = false; bool clean(){ // ์™ผ์ชฝ ๋ฐฉํ–ฅ์— ์ฒญ์†Œํ•  ๊ณต๊ฐ„์ด ์žˆ๋Š”์ง€ ํ™•์ธ int left_r = r, left_c = c; //์™ผ์ชฝ ๋ฐฉํ–ฅ์˜ ์ฒญ์†Œํ•  ๊ณต๊ฐ„์˜ ์ขŒํ‘œ if(d == 0) l.. 2022. 8. 24.
[๋ฐฑ์ค€,c++] 20955๋ฒˆ - ๋ฏผ์„œ์˜ ์‘๊ธ‰ ์ˆ˜์ˆ  ๋ฌธ์ œ 20955๋ฒˆ: ๋ฏผ์„œ์˜ ์‘๊ธ‰ ์ˆ˜์ˆ  ๋ฏผ์„œ๋Š” ๊ฐ•์›๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ์˜ ์‹ ์ž„ ๊ต์ˆ˜์ด๋‹ค. ๊ทธ๋…€๊ฐ€ ์ €์ˆ ํ•œ ํšจ์œจ์ ์ธ ํƒ๋ฐฐ ๋ฐฐ๋‹ฌ์„ ์œ„ํ•œ ์ตœ์  ๊ฒฝ๋กœ ์„ค๊ณ„์— ๊ด€ํ•œ ์—ฐ๊ตฌ ๋…ผ๋ฌธ์€ ์•„์ง๋„ ๋„๋ฆฌ ์ธ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์˜ค๋Š˜๋„ ์—ด์‹ฌํžˆ ๊ฐ•์˜๋ฅผ ํ•˜๋˜ ๋ฏผ์„œ www.acmicpc.net ์ฝ”๋“œ #include #define MAX 100001 using namespace std; int N, M, ans; int parent[MAX]; int find_parent(int a){ if(a == parent[a]) return a; return parent[a] = find_parent(parent[a]); } void make_parent(int a, int b){ a = find_parent(a); b = find_parent(b); if(.. 2022. 8. 23.
[๋ฐฑ์ค€,c++] 18429๋ฒˆ - ๊ทผ์†์‹ค ๋ฌธ์ œ 18429๋ฒˆ: ๊ทผ์†์‹ค ์›จ์ดํŠธ ํŠธ๋ ˆ์ด๋‹์„ ์ข‹์•„ํ•˜๋Š” ์–ด๋–ค ๋Œ€ํ•™์›์ƒ์€, ํ˜„์žฌ 3๋Œ€ ์šด๋™ ์ค‘๋Ÿ‰ 500์˜ ๊ดด๋ ฅ์„ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋‹ค. ๋‹ค๋งŒ, ํ•˜๋ฃจ๊ฐ€ ์ง€๋‚  ๋•Œ๋งˆ๋‹ค ์ค‘๋Ÿ‰์ด K๋งŒํผ ๊ฐ์†Œํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด K=4์ผ ๋•Œ, 3์ผ์ด ์ง€๋‚˜๋ฉด ์ค‘๋Ÿ‰์ด 488๋กœ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int N, K, ans; vector v; bool visited[9]; void dfs(int depth, int power){ if(depth == N-1 && power>=500){ ans++; return; } for(int i=0; i=500) dfs(depth+1, power - K + v[i]); visited[i] = 0; } } int main(){ ios.. 2022. 8. 23.
[๋ฐฑ์ค€,c++] 15658๋ฒˆ - ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ (2) ๋ฌธ์ œ 15658๋ฒˆ: ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ (2) ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(2 ≤ N ≤ 11)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A1, A2, ..., AN์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 100) ์…‹์งธ ์ค„์—๋Š” ํ•ฉ์ด N-1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 4N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ 4๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ฐจ๋ก€๋Œ€ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int N; int _add, _sub, _mul, _div; vector v; int _max = -1e9, _min = 1e9; void dfs(int add, int sub, int mul, int div, int result, int idx){ if(idx == N){ _max = max(_max, result); _m.. 2022. 8. 23.
[C++, ํ…œํ”Œ๋ฆฟ] map find index Get index of element in C++ map Get index of element in C++ map I have a std::map called myMap in my C++ application, and I want to get an element using either myMap.find(key) or myMap[key]. However, I would also like to get the index of that element in the map... stackoverflow.com int k = distance(mymap.begin(), mymap.find(mykey)); 2022. 8. 23.