From 4ae5e9419cf74cacd23bdf0e0564d076b70370a7 Mon Sep 17 00:00:00 2001 From: ToothlessHaveBun Date: Sat, 5 Apr 2025 23:46:23 +0800 Subject: [PATCH] Upload ABC400 codes --- .DS_Store | Bin 10244 -> 8196 bytes AtCoder/.DS_Store | Bin 0 -> 6148 bytes AtCoder/ABC_400/A | Bin 0 -> 33792 bytes AtCoder/ABC_400/A.cpp | 21 ++++++ AtCoder/ABC_400/B | Bin 0 -> 39328 bytes AtCoder/ABC_400/B.cpp | 55 ++++++++++++++ AtCoder/ABC_400/C | Bin 0 -> 39456 bytes AtCoder/ABC_400/C.cpp | 41 +++++++++++ AtCoder/ABC_400/C.py | 20 ++++++ AtCoder/ABC_400/D.cpp | 67 ++++++++++++++++++ AtCoder/ABC_400/__pycache__/C.cpython-313.pyc | Bin 0 -> 580 bytes 11 files changed, 204 insertions(+) create mode 100644 AtCoder/.DS_Store create mode 100755 AtCoder/ABC_400/A create mode 100644 AtCoder/ABC_400/A.cpp create mode 100755 AtCoder/ABC_400/B create mode 100644 AtCoder/ABC_400/B.cpp create mode 100755 AtCoder/ABC_400/C create mode 100644 AtCoder/ABC_400/C.cpp create mode 100644 AtCoder/ABC_400/C.py create mode 100644 AtCoder/ABC_400/D.cpp create mode 100644 AtCoder/ABC_400/__pycache__/C.cpython-313.pyc diff --git a/.DS_Store b/.DS_Store index 4fcf7761424a83333ad0d1ad3f34c34ffe6652b2..55720eb797be0946cf6b235436e09f24bf553aee 100644 GIT binary patch delta 217 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8FDWo2aMAD6uhMH$S7qWFCQ9Nk@hf24{wR zh7^WWhN7hM;)0}{{3M{_?UVb(3)RG{s|^iJbQCNsYjqT=Esc$I6wFMFYHK+;M3wce zgW|Jua`W;#Ctnbhm+t~0E~k%djJ3c delta 697 zcmZp1XbF&DU|?W$DortDU{C-uIe-{M3-C-#6q~50$f&q6U^hRb;$$9y+Il^PbcRfZ z5{3+hQii0Qbi?4}{M-VdVi3>*Vs-`;6}kB?E=f80NkAD6qlxtr*M1&##HK2R2vr3c zhQT}t>jW4!mkau_DGD$|Fa$IB0-fy7;KiUY@oZdM41Wbk?Fz znOs%?aVg`e$-$z^9HL_4q7ssl(wpl3~6gAA00 zQjA4F20{B!!jAP_Az?lB3|`2=dHDU|hRE<^px`8ES#CZefJxB@3UYXes|zmx+C|v1 z$=k#OHx^W~2r`3|1Je>WkZ=X1r;UlS5T3QwBov_sg&r5Y7L2tb#Y;@<3mDOZN^NM-V9b{O*h4AgtS{t~_&m<+ zZop~}oe$~+*~DDU(G@_&H7`V8ySb^xn8$go6irATXoqu zYAot<-fH-D*=#iy3(wu%+dnz)KBiBZdNEWAWL?X)#R6VY`BK$$G|Ezy-J_?-Dxw*g z0cL<1Ua7Dix;~S?Oh|${y(I{x#lT{2 z5Ircuq#~MBVV@Ynq@!KhxWHm=(4>RVE8{$N<>K)o^y+ArIvhk`kb7o;8CYhZWQJ8b z|IhH3S^3CcPT>(VzzqB|21L0NbwVu4o~_@?qqA0GyTe98aXBd{s4rata6tP=O*@TW bl8$kK#oQpxLUx^w$QJ=k2zSiDFEH={Py$JZ literal 0 HcmV?d00001 diff --git a/AtCoder/ABC_400/A b/AtCoder/ABC_400/A new file mode 100755 index 0000000000000000000000000000000000000000..b63319cc87609d28867be860455b9e0574ebcfe1 GIT binary patch literal 33792 zcmeI5e`s4(6vyvNyDgdRTDIc0R&D&FqqEW<>(s(TQ`@k_N?O_uLKUuQn%b}?*^+eb zM~B&F1$9ab{Ua#S4F_}6N!6-V84HL5D^4pzw}Sq$zbaB(6{H<>^PKx$(w9uPKSU7u z9yssZbMC$8o%_klpZDHxuFYL95JD3q7SeU3$$TM(gq>PKY$SD&O4-)9-Pz@AZ{=vV zsL9!(n>^0bKm(=hbb33pyVZP0c1#%l3JSC48QoIG1AF6!Lnb%h!Xx@(lEx7Bd0iRF z7l}-p8dApM1KqJqC^z5mqk6s##t8P!`K(4hVyHyQf$+1zaE}azdm|Ld&G(j(&uffl z-<;0~XAE=WwMg0A*x4wXT0I>)J%{n5kyVmonHMXwEhd%nnTQG7-{!N^SS5~S=IpN| zHP@M47mqL`kyBSXZdh|&9Fo!>356oz^e}y$X^(6|&qtqRM$C2OetXN`>l1EIi?i9C z{?<}CbtQ~+MqSIN{H{#EiD$mbgPo2We`#456rWXH+gLE1)Ymh_s< zYcTh7`xwn<#<{YF0(MgVzG?dk(%c>{y@1v+%pXwK)lGew0`2S)Ses3))_bKi{D=k-Bu7&FH zS5;NlRZ~&HZdGT4dA!(8f8Xr!9s6SOK&bjLV+xHHViPIXQ%M}GWH%c=^JTf4l>2ub z7GhXm6o(-o00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHgY69PAmi0P#R+Nq@` zF>>zn@=03OxUf1FX&>zPY@S%Wmn`YXT|$h`<~bHuYmQH>TN3TI!l}~D2UnL_HQP?B zCU(!RA1iff;vw3STEcT}#yG9;%TkrIz_Cbsct>e(Z%NwML}IOtVmybo-L@|sXgo#r zjHL49_q4}#yx8Jc6qa(my;5(}SV6TYFmfu+tmbNS`L5d%# zr5yjY9G}l&;NK)|`Bi*Ryq#8ebHUOlq$>EoMx83w<=RgLDZ=q8d1)pk6yvXEzp&6s zEedfL^?UUhf{w~KyvuG;SIZlrTbiWNt2K%X^V6v-_TSczeSER{i1(MWH>Ogx8~&I( zfAXx$|Hb3(-ZRg=^S(E7{^#CQ{twgBJ1wo=6*mSa2KNumoPF8#;{7LY*WctC_q#ol zXRahKe7N!SkK2+{dk)!7_x~y`ADg&m$oJJ zIPv!U(eEM;kKHc+KkYB5d~8p3&t8b~OC~HYJRr!tz@h6}? B#MuA< literal 0 HcmV?d00001 diff --git a/AtCoder/ABC_400/A.cpp b/AtCoder/ABC_400/A.cpp new file mode 100644 index 0000000..4ea075a --- /dev/null +++ b/AtCoder/ABC_400/A.cpp @@ -0,0 +1,21 @@ +#include +#define lo long long +#define INF INT_MAX +#define LLM LONG_LONG_MAX +#define endl "\n" + +using namespace std; +/* + toothless. #17 + @fredcss_dev +*/ + +int a; + +signed main() +{ + cin >> a; + if (400 % a == 0) cout << 400 / a; + else cout << -1; + return 0; +} \ No newline at end of file diff --git a/AtCoder/ABC_400/B b/AtCoder/ABC_400/B new file mode 100755 index 0000000000000000000000000000000000000000..65c16f716343ef38532c044785cc4d48b3a46169 GIT binary patch literal 39328 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 +#define lo long long +#define INF INT_MAX +#define LLM LONG_LONG_MAX +#define endl "\n" + +using namespace std; +/* + toothless. #17 + @fredcss_dev +*/ + +signed main() { + int N, M; + cin >> N >> M; + + if (N == 1) { + lo total = M + 1LL; + if (total > 1e9) { + cout << "inf" << endl; + } else { + cout << total << endl; + } + } else { + lo sum = 0; + lo cur = 1; + bool f = false; + for (int i = 0; i <= M; ++i) { + sum += cur; + if (sum > 1e9) { + f = true; + break; + } + if (i == M) { + break; + } + if (cur > 1e9 / N) { + f = true; + break; + } + lo next = cur * N; + if (next > (1e9 - sum)) { + f = true; + break; + } + cur = next; + } + if (f) { + cout << "inf" << endl; + } else { + cout << sum << endl; + } + } + return 0; +} diff --git a/AtCoder/ABC_400/C b/AtCoder/ABC_400/C new file mode 100755 index 0000000000000000000000000000000000000000..f38fa48435848fa19ca51c398fd4e206bf637022 GIT binary patch literal 39456 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 PpIdW0@cr>3%+UV=IA)}h literal 0 HcmV?d00001 diff --git a/AtCoder/ABC_400/C.cpp b/AtCoder/ABC_400/C.cpp new file mode 100644 index 0000000..9194b47 --- /dev/null +++ b/AtCoder/ABC_400/C.cpp @@ -0,0 +1,41 @@ +#include +#define lo long long +#define INF INT_MAX +#define LLM LONG_LONG_MAX +#define endl "\n" + +using namespace std; +/* + toothless. #17 + @fredcss_dev +*/ + + +signed main() { + int N; + cin >> N; + + int cnt = 0; + int mx = 0; + int current = 1; + + while (current <= N) { + current *= 2; + mx++; + } + mx--; + + for (int e = 1; e <= mx; ++e) { + int m = N / (1 << e); + if (m < 1) { + continue; + } + int mx2 = sqrt(m); + int cnt = (mx2 + 1) / 2; + cnt += cnt; + } + + cout << cnt << endl; + + return 0; +} \ No newline at end of file diff --git a/AtCoder/ABC_400/C.py b/AtCoder/ABC_400/C.py new file mode 100644 index 0000000..e1c30ce --- /dev/null +++ b/AtCoder/ABC_400/C.py @@ -0,0 +1,20 @@ +import math + +N = int(input()) + +count = 0 +e = 1 + +while True: + t = 1 << e + if t > N: + break + Q = N // t + if Q == 0: + e += 1 + continue + m = math.isqrt(Q) + cnt += (m + 1) // 2 + e += 1 + +print(cnt) \ No newline at end of file diff --git a/AtCoder/ABC_400/D.cpp b/AtCoder/ABC_400/D.cpp new file mode 100644 index 0000000..6b8c12a --- /dev/null +++ b/AtCoder/ABC_400/D.cpp @@ -0,0 +1,67 @@ +#include +#define lo long long +#define LLM LONG_LONG_MAX +#define endl "\n" + +using namespace std; +/* + toothless. #17 + @fredcss_dev +*/ + +const lo INF = 1e9; +const lo dx[] = {1, 0, -1, 0}; +const lo dy[] = {0, 1, 0, -1}; + +signed main() { + lo H, W; + cin >> H >> W; + vector g(H); + for (lo i = 0; i < H; ++i) { + cin >> g[i]; + } + + lo A, B, C, D; + cin >> A >> B >> C >> D; + --A, --B, --C, --D; + + vector> dist(H, vector(W, INF)); + deque> q; + dist[A][B] = 0; + q.epb(A, B); + + while (!q.empty()) { + auto [x, y] = q.front(); + q.pop_front(); + if (x == C && y == D) { + cout << dist[x][y] << '\n'; + return 0; + } + + for (lo i = 0; i < 4; ++i) { + lo nx = x + dx[i]; + lo ny = y + dy[i]; + if (nx < 0 || nx >= H || ny < 0 || ny >= W) continue; + if (g[nx][ny] == '.') { + if (dist[nx][ny] > dist[x][y]) { + dist[nx][ny] = dist[x][y]; + q.epf(nx, ny); + } + } else { + for (lo j = 1; j <= 2; ++j) { + lo tx = x + j * dx[i]; + lo ty = y + j * dy[i]; + if (tx < 0 || tx >= H || ty < 0 || ty >= W) break; + if (g[tx][ty] == '.') break; + if (dist[tx][ty] > dist[x][y] + 1) { + dist[tx][ty] = dist[x][y] + 1; + q.epb(tx, ty); + } + } + } + } + } + + cout << -1 << '\n'; + return 0; +} \ No newline at end of file diff --git a/AtCoder/ABC_400/__pycache__/C.cpython-313.pyc b/AtCoder/ABC_400/__pycache__/C.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..15f12d468063660a6c2b5cd1b5230a05d0f7b908 GIT binary patch literal 580 zcmey&%ge<81lKe^roRNzk3k$5V1Y6|9|1C^G6XXOGkP-=F~l$`F~l$_F_=Q7O&KAK zBIaO*B9>sLB33zuV5S&WU1kP`BDNT|7-p*}3=D}tRsLo%%rR`bOh9q=81`TWs|cVt zI|D-uYcP{8FHn@#S02b?2oiuAjYI+MWQW_t8N(IB3Dg6W4`v3L2iDDnWR4Ti9B!Z< zE|?w#hIB?v7LXqq{9b}w{1T{*L6heeOKxIG#x3T|ypmh2nRx}JCAS#;Zm}lkmjVSC zQ*SW>$v~h?abXdVm3xah8KkhF2&jG~!)K6jUm}5oerR!OQL%n;s(ET&NoJnDOMY@` zE|6KQ9{?23&r8fvKnNKa#y{D=@LA*fr)!rzUp?=|*4g?`8)v;-G~;>S`lpMU^&Op@ z<4p_<^qutzDsOSvC z1M3YIRv?Rw>jnpBM_?yggX0Z$jt;}-(i