Skip to content

Instantly share code, notes, and snippets.

View sgc109's full-sized avatar
๐Ÿ 

Wood Hwang sgc109

๐Ÿ 
View GitHub Profile
#include <bits/stdc++.h>
#define pb push_back
#define sz(v) (int)v.size()
#define all(v) v.begin(),v.end()
#define fastio() ios::sync_with_stdio(0),cin.tie(0)
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int inf = 0x3c3c3c3c;
const ll infl = 0x3c3c3c3c3c3c3c3c;
#include <bits/stdc++.h>
#define pb push_back
#define sz(v) (int)v.size()
#define all(v) v.begin(),v.end()
#define fastio() ios::sync_with_stdio(0),cin.tie(0)
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int inf = 0x3c3c3c3c;
const ll infl = 0x3c3c3c3c3c3c3c3c;
@sgc109
sgc109 / Zoo.cpp
Last active March 31, 2017 02:19
SRM 511 Level1 - Zoo
#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=a;i<=b;++i)
#define FOR(i,n) for(int i=0;i<n;++i)
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define sz(v) ((int)(v).size())
#define inp1(a) scanf("%d",&a)
#define inp2(a,b) scanf("%d%d",&a,&b)
#define inp3(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define inp4(a,b,c,d) scanf("%d%d%d%d",&a,&b,&c,&d)
@sgc109
sgc109 / TheLuckyGameDivOne.cpp
Last active March 16, 2017 12:10
SRM 510 Level2 - TheLuckyGameDivOne
#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=a;i<=b;++i)
#define FOR(i,n) for(int i=0;i<n;++i)
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define sz(v) ((int)(v).size())
#define inp1(a) scanf("%d",&a)
#define inp2(a,b) scanf("%d%d",&a,&b)
#define inp3(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define inp4(a,b,c,d) scanf("%d%d%d%d",&a,&b,&c,&d)
@sgc109
sgc109 / srm510easy.cpp
Created March 12, 2017 11:40
SRM 510 Level1 - TheAlmostLuckyNumbersDivOne
/*
https://community.topcoder.com/stat?c=problem_statement&pm=11461
dp ๋ฌธ์ œ์ด๋‹ค. ๊ฝค๋‚˜ ์ต์ˆ™ํ•œ ์œ ํ˜•์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์–ด๋– ํ•œ ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉด ๋งจ์œ—์ž๋ฆฌ๋ถ€ํ„ฐ ๋‚ด๋ ค์˜ค๋ฉด์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ€๋Šฅํ•œ ์ˆซ์ž๋“ค์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š”๋ฌธ์ œ๋กœ
๋ณดํ†ต ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ƒํ•œ์ด๋‚˜ ํ•˜ํ•œ์„ ๋ณด๋ฉด์„œ ํŠน์ • ์ž๋ฆฌ์ˆ˜๊ฐ€ ์ƒํ•œ๋ณด๋‹ค ๋‚ฎ์•„์ง€๊ฑฐ๋‚˜ ํ•˜ํ•œ๋ณด๋‹ค ๋†’์•„์ง€๋Š”์ˆœ๊ฐ„ ๊ทธ ๋’ท์ž๋ฆฌ๋Š” ํฌ๊ธฐ์—๋Œ€ํ•ด ์ „ํ˜€ ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ
๊ทธ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฅผ bool ํ˜•ํƒœ๋กœ memoization ํ•ด์ฃผ๋ฉด๋œ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ํ•˜ํ•œ๊ณผ ์ƒํ•œ ๋‘๊ฐœ ๋ชจ๋‘ ์žˆ์œผ๋ฏ€๋กœ ๋‘๊ฐœ๋ฅผ ํ•จ๊ป˜ ๋”ฐ์ ธ์ฃผ๋ฉฐ ๊ณ„์‚ฐ์„ ํ•˜๋ฉด๋˜๊ณ 
4๋‚˜ 7์„ ์ œ์™ธํ•œ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ ํ•œ๋ฒˆ๋งŒ ๋‚˜์˜ฌ ์ˆ˜์žˆ๋‹ค๋Š” ์กฐ๊ฑด๋„ ์žˆ์œผ๋ฏ€๋กœ ์ง€๊ธˆ๊นŒ์ง€ 4๋‚˜ 7์„ ์ œ์™ธํ•œ ์ˆ˜๊ฐ€ ๋‚˜์™”๋Š”์ง€ ์•ˆ๋‚˜์™”๋Š”์ง€๋„ ํ•จ๊ป˜ memoization ํ•ด์ฃผ๋ฉด๋œ๋‹ค
๋‹จ ์•„์ง ์•ž์— leading zero๋งŒ ๋‚˜์™”์„๋• 4๋‚˜7์ด ์•„๋‹Œ์ˆ˜๊ฐ€ ๋‚˜์™”๋‹ค๊ณ  ์„ธ๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ๋„ memoization ํ•ด์ค€๋‹ค. ์ฆ‰ boolํ˜•ํƒœ์˜ memoization ์„ 4๊ฐœํ•ด์ฃผ๊ณ 
ํ˜„์žฌ ๋ช‡์ž๋ฆฌ๊นŒ์ง€ ๋ด์คฌ๋Š”์ง€๋ฅผ ํ•˜๋‚˜๋ด์ฃผ๋ฉด๋˜๋Š”๋ฐ 10^16๊นŒ์ง€๋‹ˆ๊นŒ ์ตœ๋Œ€ 17์ •๋„๋ ๊ฒƒ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ด์ง„์ˆ˜์— ๋Œ€ํ•ด์„œ ์ด๋ ‡๊ฒŒ ์œ—์ž๋ฆฌ๋ถ€ํ„ฐ ๋”ฐ์ ธ์ฃผ๋ฉฐ ์„ธ๋Š”๊ฒƒ์„ ๋งŽ์ด ๋ดค์—ˆ๋Š”๋ฐ ์‹ญ์ง„์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์ฒ˜์Œ๋ณธ๊ฒƒ๊ฐ™๋‹ค.
@sgc109
sgc109 / srm509mid.cpp
Created March 12, 2017 06:29
SRM 509 Level2 - PalindromizationDiv1
/*
https://community.topcoder.com/stat?c=problem_statement&pm=11443
์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋งŒ๋“œ๋Š” dp ๋ฌธ์ œ์ด๋‹ค.
๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ์ •์˜ํ•˜์ž๋ฉด
dp(i,j) : S[i:j] ๋ฅผ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋งŒ๋“ค๊ธฐ์œ„ํ•œ ์ตœ์†Œ ๋น„์šฉ
์ ํ™”์‹์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์–‘ ๋์—์„œ ๋ถ€ํ„ฐ ํ•œ๊ธ€์ž ํ˜น์€ ๋‘๊ธ€์ž์”ฉ ๋งค์น˜์‹œํ‚ค๋ฉด์„œ ์–‘์ชฝ ๋์„ ํ•œ์นธ ์”ฉ ์ขํ˜€๋‚˜๊ฐ€๋Š” ์‹์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
์–ด๋–ป๊ฒŒ ์ด๊ฒŒ ๊ฐ€๋Šฅํ•˜๋ƒ๋ฉด ์™ผ์ชฝ๋ ๊ธ€์ž๋ฅผ l, ์˜ค๋ฅธ์ชฝ๋ ๊ธ€์ž๋ฅผ r ์ด๋ผ๊ณ  ํ–ˆ์„๋•Œ l์€ r๊ณผ ๋งค์น˜์‹œํ‚ฌ ์ˆ˜๋„์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์— ์ƒˆ ๊ธ€์ž๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ๊ฒƒ๊ณผ
๋งค์น˜์‹œํ‚ฌ ์ˆ˜๋„์žˆ๊ณ  r์„ ์‚ญ์ œํ•˜๊ณ  r์˜ ์™ผ์ชฝ ๊ธ€์ž์—๋Œ€ํ•ด ์žฌ๊ท€์ ์œผ๋กœ ์„ ํƒํ• ์ˆ˜๊ฐ€์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—
@sgc109
sgc109 / srm508mid.cpp
Created March 11, 2017 09:25
SRM 508 Medium - YetAnotherORProblem
/*
https://community.topcoder.com/stat?c=problem_statement&pm=11379
์ด ๋ฌธ์ œ๋Š” N๊ฐœ์˜ ์ƒํ•œ์ด ์ฃผ์–ด์ง€๊ณ  ๊ทธ ์ƒํ•œ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆ˜๋“ค์„ N๊ฐœ ์„ ํƒํ•˜์—ฌ ๊ทธ N๊ฐœ์˜ ํ•ฉ๊ณผ OR ์ด ๊ฐ™์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
์กฐ๊ธˆ๋งŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ƒํ•œ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ N๊ฐœ์˜ ์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ ๊ฐ๊ฐ์˜ ๋น„ํŠธ๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๋Š” ์ˆ˜๋“ค์˜ ์กฐํ•ฉ์„ ๊ตฌํ•˜๋ผ๋Š” ๋ง๊ณผ ๋™์น˜์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ์„  ์ƒํ•œ์œ ์ตœ๋Œ€ 10^18 ์ด๋‹ˆ๊นŒ 64๊ฐœ์˜ ๋น„ํŠธ๋ฉด ์ถฉ๋ถ„ํžˆ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด 63๋ฒˆ์งธ ๋น„ํŠธ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ๊ฐ๊ฐ์˜ ์ƒํ•œ์„ ๋„˜์ง€
์•Š๋„๋ก ์–ด๋–ค ์ˆ˜์—๊ฒŒ 1์„ ์ค„ ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉด ๋œ๋‹ค.(๋ฌผ๋ก  ์•„๋ฌด ์ˆ˜์—๊ฒŒ๋„ 1์„ ์•ˆ์ค˜๋„๋จ) ์–ด๋–ค ์ˆ˜์—๊ฒŒ 1์„ ์ค„ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ถ€๋ถ„์€ ๊ทธ๋ƒฅ
์žฌ๊ท€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š”๋ฐ ๋ฌธ์ œ๋Š” ๊ฐ๊ฐ์˜ ์ˆ˜๋งˆ๋‹ค ์ƒํ•œ์„ ๋„˜๋Š”์ง€ ๋„˜์ง€ ์•Š๋Š”์ง€๋ฅผ ์ฒดํฌ ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ ์–ด๋–ค ์ˆ˜์—๊ฒŒ 1์„ ์ฃผ๋ฉด ์ˆ˜๊ฐ€ ๋ณ€ํ•˜๊ธฐ
๋•Œ๋ฌธ์— ๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ธ์ž๋กœ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋“  ์ˆ˜๋ฅผ ์ธ์ž๋กœ ์ฃผ๊ธฐ์—” O(64*10^19) ๊ฐœ์˜ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ํž˜๋“ค๋‹ค.
์ข€๋งŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ƒํ•œ์„ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ ํŠน์ • ์ž๋ฆฌ๊ฐ€ 1์ธ๋ฐ ๊ทธ ์ž๋ฆฌ์— ์ด ์ˆ˜์—๊ฒŒ 1์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ทธ ์•„๋ž˜ ์ž๋ฆฌ์— ์•„๋ฌด๋ฆฌ 1์„ ์ค˜๋„ ์ ˆ๋Œ€ ์ƒํ•œ์„
@sgc109
sgc109 / srm508easy(1).cpp
Created March 11, 2017 08:35
SRM 508 Level1 - DivideAndShift(1)
/*
https://community.topcoder.com/stat?c=problem_statement&pm=11434
ํ’€์ด1๊ณผ ๊ฑฐ์˜ ๋™์ผํ•œ๋ฐ ์žฌ๊ท€ํ•จ์ˆ˜์˜ ๊ตฌํ˜„ ํ˜•ํƒœ๊ฐ€ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค ํ’€์ด1 ์ด ๋” ๋น ๋ฅผ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ด๋ ‡๊ฒŒ๋„ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์จ๋ณธ๋‹ค.
์ฒ˜์Œ์— ๊ธธ์ด N์ธ ๋ฉ์–ด๋ฆฌ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๊ฑธ ๊ธธ์ด๊ฐ€ 1์ธ ๋ฉ์–ด๋ฆฌ ๊นŒ์ง€ ๋‚˜๋ˆ„์–ด ๊ฐ€๋Š” ๊ณผ์ •์„ ์ƒ๊ฐํ•ด๋ณด์ž. ๊ฐ๊ฐ์˜ ์†Œ์ธ์ˆ˜๋“ค์˜ ์ง€์ˆ˜๋“ค์„ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ S๋ผ๊ณ ํ•ด๋ณด์ž
์ด S๊ฐ€ ์ตœ๋Œ€ํ•œ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜์ผ ๊ฒƒ์ด๊ณ , ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ต์€ ์•„๋ฌด๋ฆฌ ์ปค๋„ ์ € ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ธธ์ด๊ฐ€ 1์ธ ๋ฉ์–ด๋ฆฌ๋กœ ๋‚˜๋ˆ  ๋ฒ„๋ฆฌ๋ฉด
์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ ธ๊ฐ€๊ณ ์ž ํ•˜๋Š” ์นธ์€ ๋ฌด์กฐ๊ฑด ๊ฐ€์ ธ๊ฐˆ ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‚˜๋ˆ„๋Š” ์ˆœ์„œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ณด๋ฉด์„œ ๋งค ์ˆœ๊ฐ„ ์ˆœ๊ฐ„ ๋งˆ๋‹ค ์ค‘๊ฐ„์—
๋งจ ์™ผ์ชฝ ์นธ๊ณผ์˜ ์ตœ์†Œ๊ฑฐ๋ฆฌ + ์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋ˆˆ ํšŸ์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋ฉด ์ด๊ฒŒ ๋‹ต์ด๋  ๊ฒƒ์ด๋‹ค.
*/
@sgc109
sgc109 / srm508easy.cpp
Last active March 11, 2017 08:23
SRM 508 Level1 - DivideAndShift
/*
https://community.topcoder.com/stat?c=problem_statement&pm=11434
์ด ๋ฌธ์ œ๋Š” ์ˆ˜ํ•™์  ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค. ์šฐ์„  ๋ฌธ์ œ์—์„œ ์นธ๋“ค์ด K๊ฐœ๊ฐ€ ์žˆ์„ ๋•Œ K์˜ ์•ฝ์ˆ˜์ด๋ฉด์„œ ์†Œ์ˆ˜์ธ ์ˆ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ
์ด๊ฒƒ์€ ๋ฐ”๋กœ ๋งค ํšŒ์— ์†Œ์ธ์ˆ˜๋กœ ํ•œ๋ฒˆ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ธ์ˆ˜ ๋ถ„ํ•ด๋ฅผ ํ–ˆ์„ ๋•Œ ์†Œ์ธ์ˆ˜๋“ค์˜ ์ง€์ˆ˜ ๋“ค์„ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์ด
์ตœ๋Œ€ํ•œ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜์ธ ๊ฒƒ ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ํŠน์ • ์นธ์„ ๊ฐ€์ ธ๊ฐ€๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ํšŸ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์น˜๋ฉด ๊ทธ ์ตœ์ ํ•ด๋Š”
๋ช‡๋ฒˆ์€ ๋‚˜๋ˆŒ๊ฒƒ์ด๊ณ  ๋ช‡๋ฒˆ์€ ์˜†์œผ๋กœ ์ด๋™์‹œํ‚ฌ ๊ฒƒ์ด๋‹ค. ์šฐ์„  ๋‚˜๋ˆ„๋Š” ํ–‰์œ„๋ฅผ ๋จผ์ € ๋ณด๋ฉด ๊ฐ๊ฐ์˜ ์†Œ์ธ์ˆ˜ ๋งˆ๋‹ค ๋‚˜๋ˆ„๋Š” ํšŸ์ˆ˜๊ฐ€ ์žˆ์„ ๊ฑฐ๊ณ  ๊ทธ ํšŸ์ˆ˜๋Š” 0์ผ ์ˆ˜๋„ ์žˆ์„๊ฒƒ์ด๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ๊ฐ์˜ ์†Œ์ธ์ˆ˜์— ๋Œ€ํ•˜์—ฌ ๋‚˜๋ˆ„๋Š” ํšŸ์ˆ˜๋“ค์˜ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•œ ๊ฒฝ์šฐ๋“ค์„ ๋ชจ๋‘ ๋ณด๋ฉด์„œ
์šฐ๋ฆฌ๊ฐ€ ๊ณ ๋ฅด๋ ค๊ณ ํ•˜๋Š” ๋†ˆ์ด ๋งจ ์™ผ์ชฝ ์นธ์œผ๋กœ ๋ถ€ํ„ฐ ๋ช‡ ๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ ๋ด์„œ ๊ทธ์ค‘ ์ตœ์†Œ ๊ฐ’์ด ๋‹ต์ด ๋ ๊ฒƒ์ด๋‹ค.
๋ฌผ๋ก  ๋งจ ์™ผ์ชฝ ์นธ์œผ๋กœ ๋ถ€ํ„ฐ ๋–จ์–ด์ง„ ๊ฑฐ๋ฆฌ๋Š” min(์ขŒ์ธก์œผ๋กœ ๊ฐ”์„๋•Œ ๊ฑฐ๋ฆฌ, ์šฐ์ธก์œผ๋กœ ๊ฐ”์„๋Œ€ ๊ฑฐ๋ฆฌ) ์ผ ๊ฒƒ์ด๋‹ค.
@sgc109
sgc109 / srm507mid.cpp
Created March 9, 2017 00:56
SRM 507 Level2 - Cube Packing
/*
์šฐ์„  1x1x1 ํ๋ธŒ๋“ค๊ณผ LxLxL ํ๋ธŒ๋“ค์˜ ๋ถ€ํ”ผ์˜ ์ดํ•ฉ์„ ๊ตฌํ•ด๋ณด๋ฉด
Ns+Nb*L^3 ์ธ๋ฐ ์ด๊ฒƒ์„ T ๋ผ๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ์ ์–ด๋„ ์šฐ๋ฆฌ๊ฐ€ ์ด ํ๋ธŒ๋“ค์„ ํฌ์žฅํ•˜๋Š” ํ•˜๋‚˜์˜ ํ๋ธŒ์˜ ๋ถ€ํ”ผ V๋Š” T๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด T๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  V์— ๋Œ€ํ•ด ๊ฒ€์‚ฌํ•ด๋ณด์ž. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ๋”ฐ์ ธ์ค˜์•ผ ํ•  ๊ฒƒ์ด ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
์ฒซ๋ฒˆ์งธ๋กœ ํ๋ธŒ์˜ ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด๋ฅผ x,y,z ๋ผ๊ณ ํ• ๋•Œ x<=y<=z ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•ด์ค˜์•ผ ์…Œ๋˜๊ฒƒ์„ ๋˜ ์•ˆ์„ผ๋‹ค. ํšŒ์ „ํ•˜๋ฉด ๊ฒฐ๊ตญ ๊ฐ™์€๊ฒŒ ๋‚˜์˜ค๊ธฐ๋•Œ๋ฌธ์ด๋‹ค.
(๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— x^3 <= 2e9 ์ผ ๊ฒƒ์ด๋‹ค)
๋‘๋ฒˆ์งธ๋กœ ์ง€๊ธˆ ๋ณด๋Š” V์˜ ๋ถ€ํ”ผ๊ฐ€ T๋ณด๋‹ค ํฌ๋‹ค ํ• ์ง€๋ผ๋„ Nb๊ฐœ์˜ ํ๋ธŒ๊ฐ€ ๋ชจ๋‘ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ๋ถ„๋ฆฌ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ
LxLxL ํ๋ธŒ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด ์ค˜์•ผํ•˜๋Š”๋ฐ ์ด๊ฒƒ์€ (x/L)*(y/L)*(z/L) ์ด๋‹ค. ์ด๊ฒƒ์ด Nb๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€์ง€๋ฅผ ๋ด์ฃผ๋ฉด๋œ๋‹ค.
์„ธ๋ฒˆ์งธ๋กœ x์™€ y๊ฐ€ ์ •ํ•ด์ง€๋ฉด x*y*z๊ฐ€ T๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผํ•˜๊ธฐ๋•Œ๋ฌธ์— ์ตœ์†Œ z๊ฐ€ ์ •ํ•ด์งˆํ…๋ฐ
์ด ์ตœ์†Œz๋ถ€ํ„ฐ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ z๊ฐ’์„ ๋‹ค ๋ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฑ ์ด๊ฑฐ ํ•˜๋‚˜๋งŒ ๋ด์ฃผ๋ฉด๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„๋ณต์žก๋„๋Š”