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

Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)316

[๋ฐฑ์ค€,c++] 4485๋ฒˆ - ๋…น์ƒ‰ ์˜ท ์ž…์€ ์• ๊ฐ€ ์ ค๋‹ค์ง€? ๋ฌธ์ œ 4485๋ฒˆ: ๋…น์ƒ‰ ์˜ท ์ž…์€ ์• ๊ฐ€ ์ ค๋‹ค์ง€? ์ ค๋‹ค์˜ ์ „์„ค ๊ฒŒ์ž„์—์„œ ํ™”ํ์˜ ๋‹จ์œ„๋Š” ๋ฃจํ”ผ(rupee)๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ„ํ˜น '๋„๋‘‘๋ฃจํ”ผ'๋ผ ๋ถˆ๋ฆฌ๋Š” ๊ฒ€์ •์ƒ‰ ๋ฃจํ”ผ๋„ ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๊ฑธ ํš๋“ํ•˜๋ฉด ์˜คํžˆ๋ ค ์†Œ์ง€ํ•œ ๋ฃจํ”ผ๊ฐ€ ๊ฐ์†Œํ•˜๊ฒŒ ๋œ๋‹ค! ์ ค๋‹ค์˜ ์ „์„ค ์‹œ๋ฆฌ์ฆˆ์˜ ์ฃผ www.acmicpc.net ์ฝ”๋“œ #include #include #include #include #include #define INF 1e9 using namespace std; int N; int map[126][126]; int d[126][126]; int dx[4] = {0,0,-1,1}; int dy[4] = {-1,1,0,0}; void dijkstra(){ priority_queuepq; pq.push({map[0][0], {0,0}}); d[0][0].. 2022. 11. 2.
[๋ฐฑ์ค€,c++] 1780๋ฒˆ - ์ข…์ด์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ 1780๋ฒˆ: ์ข…์ด์˜ ๊ฐœ์ˆ˜ Nร—Nํฌ๊ธฐ์˜ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„๋˜๋Š” ์ข…์ด๊ฐ€ ์žˆ๋‹ค. ์ข…์ด์˜ ๊ฐ ์นธ์—๋Š” -1, 0, 1 ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ํ–‰๋ ฌ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ์ž๋ฅด๋ ค๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ์ข…์ด๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int map[2188][2188]; bool visited[2188][2188]; int N; int cnt[3]; bool check(int r, int c, int div){ int cmp = map[r][c]; for(int i=r; i 2022. 10. 5.
[๋ฐฑ์ค€,c++] 1043๋ฒˆ - ๊ฑฐ์ง“๋ง ๋ฌธ์ œ 1043๋ฒˆ: ๊ฑฐ์ง“๋ง ์ง€๋ฏผ์ด๋Š” ํŒŒํ‹ฐ์— ๊ฐ€์„œ ์ด์•ผ๊ธฐ ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค. ํŒŒํ‹ฐ์— ๊ฐˆ ๋•Œ๋งˆ๋‹ค, ์ง€๋ฏผ์ด๋Š” ์ง€๋ฏผ์ด๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์ด์•ผ๊ธฐ๋ฅผ ํ•œ๋‹ค. ์ง€๋ฏผ์ด๋Š” ๊ทธ ์ด์•ผ๊ธฐ๋ฅผ ๋งํ•  ๋•Œ, ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ง„์‹ค๋กœ ๋งํ•˜๊ฑฐ๋‚˜ ์—„์ฒญ๋‚˜๊ฒŒ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int parent[101]; int N, M; void union_parent(vector &party){ for(int i=0; iM; int know; cin>>know; for(int i=0; i>peo; parent[peo] = -1; } vector party; for(int i=0; i>cnt; vector temp; for(int k=0; k>peo; temp.push_back(.. 2022. 9. 28.
[๋ฐฑ์ค€,c++] 22858๋ฒˆ - ์›์ƒ ๋ณต๊ตฌ(small) ๋ฌธ์ œ 22858๋ฒˆ: ์›์ƒ ๋ณต๊ตฌ (small) ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” $P_1, P_2, ..., P_N$ $N$๊ฐœ์˜ ์นด๋“œ๊ฐ€ ์žˆ๋‹ค. 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ˆ˜๊ฐ€ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•˜๋Š” $D_1, D_2, ... , D_i , ... D_N$ ๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ $D_i$๋Š” $P_{D_i}$ ๊ฐ’์„ $i$ ๋ฒˆ์งธ๋กœ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฌํ•œ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int D[10001], S[10001], v[10001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N, K; cin>>N>>K; for(int i=1; i>S[i]; for(int i=1; i>D[i]; while(K-.. 2022. 9. 28.
[๋ฐฑ์ค€,c++] 25644๋ฒˆ - ์ตœ๋Œ€ ์ƒ์Šน ๋ฌธ์ œ 25644๋ฒˆ: ์ตœ๋Œ€ ์ƒ์Šน ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์žˆ๋Š” ์ •๊ท ์ด๋Š” ์•ž์œผ๋กœ $N$์ผ๊ฐ„ ANA ํšŒ์‚ฌ์˜ ์ฃผ๊ฐ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •๊ท ์ด๋Š” ์˜ˆ์ธกํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ANA ํšŒ์‚ฌ์˜ ์ฃผ์‹ ํ•œ ์ฃผ๋ฅผ ์ ๋‹นํ•œ ์‹œ์ ์— ์‚ฌ๊ณ  www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin>>N; vector v; for(int i=0; i>inp; v.push_back(inp); } int max_num = -1; int ans = 0; for(int i=v.size()-1; i>=0; i--){ if(v[i] > max_num){ max_.. 2022. 9. 28.
[๋ฐฑ์ค€,c++] 1309๋ฒˆ - ๋™๋ฌผ์› ๋ฌธ์ œ 1309๋ฒˆ: ๋™๋ฌผ์› ์ฒซ์งธ ์ค„์— ์šฐ๋ฆฌ์˜ ํฌ๊ธฐ N(1โ‰คNโ‰ค100,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ์ฝ”๋“œ #include #define MOD 9901 using namespace std; int dp[100001][3]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); dp[0][0] = 1; // ์‚ฌ์ž๋ฅผ ๋†“์ง€์•Š๋Š” ๊ฒฝ์šฐ dp[0][1] = 1; // ์‚ฌ์ž๋ฅผ ์™ผ์ชฝ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ dp[0][2] = 1; // ์‚ฌ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒฝ์šฐz int N; cin>>N; for(int i=1; i 2022. 9. 27.
[๋ฐฑ์ค€,c++] 12782๋ฒˆ - ๋น„ํŠธ ์šฐ์ •์ง€์ˆ˜ ๋ฌธ์ œ 12782๋ฒˆ: ๋น„ํŠธ ์šฐ์ •์ง€์ˆ˜ ์ง„ํ™์ด๋Š” ์ˆซ์ž๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ์˜ค๋Š˜๋„ ์ˆซ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ๋†€๋˜ ์ง„ํ™์ด๋Š” ๋‘ ์ˆซ์ž์˜ ๋น„ํŠธ ์šฐ์ •์ง€์ˆ˜๋ฅผ ๊ตฌํ•ด๋ณด์•˜๋‹ค. ๋น„ํŠธ ์šฐ์ •์ง€์ˆ˜๋ž€, 10์ง„๋ฒ•์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๋‘ ์ •์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด์—ˆ์„ ๋•Œ, ๋‘ ์ˆซ์ž๋ฅผ ๊ฐ™ www.acmicpc.net ์ฝ”๋“œ #include #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int T; cin>>T; while(T--){ string a, b; cin>>a>>b; queue zero, one; int ans = 0; for(int i=0; i 2022. 9. 27.
[๋ฐฑ์ค€,c++] 1038๋ฒˆ - ๊ฐ์†Œํ•˜๋Š” ์ˆ˜ ๋ฌธ์ œ 1038๋ฒˆ: ๊ฐ์†Œํ•˜๋Š” ์ˆ˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜ X์˜ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ํฐ ์ž๋ฆฟ์ˆ˜๋ถ€ํ„ฐ ์ž‘์€ ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ๊ฐ์†Œํ•œ๋‹ค๋ฉด, ๊ทธ ์ˆ˜๋ฅผ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 321๊ณผ 950์€ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์ง€๋งŒ, 322์™€ 958์€ ์•„๋‹ˆ๋‹ค. N๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ฅผ www.acmicpc.net ์ฝ”๋“œ #include #include #include #define ll long long using namespace std; vector v; void backtracking(string s){ if(s > "9876543210") return; string temp = s; reverse(temp.begin(), temp.end()); v.push_back(stoll(temp)); for(int i=s.back() - '0' + 1; i.. 2022. 9. 27.
[๋ฐฑ์ค€,c++] 16935๋ฒˆ - ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 ๋ฌธ์ œ 16935๋ฒˆ: ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 ํฌ๊ธฐ๊ฐ€ Nร—M์ธ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ๋ฐฐ์—ด์— ์—ฐ์‚ฐ์„ R๋ฒˆ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ์‚ฐ์€ ์ด 6๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1๋ฒˆ ์—ฐ์‚ฐ์€ ๋ฐฐ์—ด์„ ์ƒํ•˜ ๋ฐ˜์ „์‹œํ‚ค๋Š” ์—ฐ์‚ฐ์ด๋‹ค. 1 6 2 9 8 4 โ†’ 4 2 9 3 1 8 7 2 6 9 8 2 โ†’ 9 2 3 6 1 5 1 8 3 4 2 9 โ†’ www.acmicpc.net ์ฝ”๋“œ #include #include using namespace std; int N, M, R; int map[101][101]; void print(){ for(int i=0; i 2022. 9. 22.