2023.02.24
C++
https://www.acmicpc.net/problem/3053
λ¬Έμ
19μΈκΈ° λ μΌ μνμ ν€λ₯΄λ§ λ―Όμ½νμ€ν€λ λΉμ ν΄λ¦¬λ κΈ°νν μ€ νμ κΈ°ννμ κ³ μνλ€.
νμ κΈ°ννμμ λ μ T1(x1,y1), T2(x2,y2) μ¬μ΄μ 거리λ λ€μκ³Ό κ°μ΄ ꡬν μ μλ€.
D(T1,T2) = |x1-x2| + |y1-y2|
λ μ μ¬μ΄μ 거리λ₯Ό μ μΈν λλ¨Έμ§ μ μλ μ ν΄λ¦¬λ κΈ°ννμμμ μ μμ κ°λ€.
λ°λΌμ νμ κΈ°ννμμ μμ μ μλ μ ν΄λ¦¬λ κΈ°ννμμ μμ μ μμ κ°λ€.
μ: νλ©΄ μμ μ΄λ€ μ μμ κ±°λ¦¬κ° μΌμ ν μ λ€μ μ§ν©
λ°μ§λ¦ Rμ΄ μ£Όμ΄μ‘μ λ, μ ν΄λ¦¬λ κΈ°ννμμ μμ λμ΄μ, νμ κΈ°ννμμ μμ λμ΄λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ λ°μ§λ¦ Rμ΄ μ£Όμ΄μ§λ€. Rμ 10,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μλ μ ν΄λ¦¬λ κΈ°ννμμ λ°μ§λ¦μ΄ RμΈ μμ λμ΄λ₯Ό, λμ§Έ μ€μλ νμ κΈ°ννμμ λ°μ§λ¦μ΄ RμΈ μμ λμ΄λ₯Ό μΆλ ₯νλ€. μ λ΅κ³Όμ μ€μ°¨λ 0.0001κΉμ§ νμ©νλ€.
μμ μ λ ₯ 1
1
μμ μΆλ ₯ 1
3.141593
2.000000
μμ μ λ ₯ 2
21
μμ μΆλ ₯ 2
1385.442360
882.000000
μμ μ λ ₯ 3
42
μμ μΆλ ₯ 3
5541.769441
3528.000000
ννΈ
μ ν΄λ¦¬λ κΈ°νν: νκ΅μ΄ μν€ μλ¬Έ μν€ Wolfram Mathworld
λΉμ ν΄λ¦¬λ κΈ°νν: νκ΅μ΄ μν€ μλ¬Έ μν€ Wolfram Mathworld
νμ κΈ°νν: νκ΅μ΄ μν€ μλ¬Έ μν€ Wolfram Mathworld
μ½λ
#define _USE_MATH_DEFINES // M_PI μ¬μ©μ μν΄
#include <iostream>
#include <math.h> // M_PI μ¬μ©
using namespace std;
int main() {
double R;
cin >> R;
cout << fixed; // μμμ 6μ리κΉμ§
cout.precision(6);
cout << pow(R, 2) * M_PI << endl; // μ ν΄λ¦¬λ κΈ°νν: r*r*π
cout << pow(R, 2) * 2 << endl; // νμ κΈ°νν: r*r*2
return 0;
}
νμ΄
1. μ ν΄λ¦¬λ κΈ°ννκ³Ό νμ κΈ°νν
μ λ ₯κ³Ό μΆλ ₯λ§ λ³΄κ³ μ ν΄λ¦¬λ κΈ°ννμ λ°μ§λ¦*λ°μ§λ¦*π, νμ κΈ°ννμ λ°μ§λ¦*λ°μ§λ¦*2λΌλ κ²μ μ μ μμλ€.
λΉ¨κ°, νλ, λ
Έλ: νμ 거리(맨ν΄νΌ 거리)λ‘ μ μ κΈΈμ΄λ λͺ¨λ 12μ΄λ€. μ΄λ‘: μ ν΄λ¦¬λ κ±°λ¦¬λ‘ μ μ κΈΈμ΄λ 6√2 (λλ΅ 8.49)μ΄λ€. |
κΈ°ννμμμ μ: νμ μμ κ°μ 거리μ μλ μ μ μ§ν©
μ ν΄λ¦¬λ κΈ°ννμ μ: μ°λ¦¬κ° νν μλ μ / λ°©μ μ: (x−a)²+(y−b)²=r²
νμ κΈ°ννμ μ: ν μ μμ κ±°λ¦¬κ° 2μΈ μ λ€μ μ§ν©(κ·Έλ¦Ό1)μ 격μλ₯Ό μ€μ¬λκ°λ©΄ μμ λͺ¨μ΅μ κ·Έλ¦Ό2μ²λΌ λλ€. μ¦ λ§λ¦λͺ¨κΌ΄ ννμ μ μ¬κ°νμ΄ λλ€. / λ°©μ μ: β£x−aβ£+β£y−bβ£=d
μλ₯Ό ν΅ν΄ νμ κΈ°ννμ μμ λμ΄λ λ°μ§λ¦*λ°μ§λ¦*2λΌλ κ²μ μ μ μλ€.
β» μ΄λ μ κ³±μ pow(λ°μ§λ¦, 2(μ κ³±))μΌλ‘ ꡬν μ μλ€.
2. πλ₯Ό μ΄λ»κ² ν κ²μΈκ°?
λ°©λ²1) M_PIλ₯Ό μ¬μ©νλ€.
#define _USE_MATH_DEFINES
#include <math.h>
double R = μ«μ;
dobule circle = M_PI * R * R;
#define _USE_MATH_DEFINES λ₯Ό μ¨μ€μΌ M_PIλ₯Ό μ¬μ©νμ λ μλ¬κ° λμ§ μλλ€.
λ°©λ²1) #define pi 3.141592.... λ₯Ό νλ€.
μ΄λ 3.141592...λ₯Ό κΈΈκ² μ μ ν΄μ£Όμ΄μΌνλ€.
μ΄μ : [λ°±μ€] 3053 νμ κΈ°νν (C++) :: Devlog (tistory.com)
3. μμμ 6μ리κΉμ§ λνλ΄κΈ°
cout << fixed;
cout.precision(μ리μ);
μ°Έκ³
https://namu.wiki/w/%ED%83%9D%EC%8B%9C%20%EA%B8%B0%ED%95%98%ED%95%99
[C] CμΈμ΄ M_PI μ¬μ©νκΈ° :: Development Assemble (tistory.com)
[C++] C/C++ μμ Pi (μμ£Όμ¨) μ¬μ©νλ λ² (tistory.com)
C++ μμμ κ°μ μ‘°μ νκΈ° (atomic0x90.github.io)
'Study > μ½ν ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ λΈλ‘ μ¦3 2445λ²: λ³ μ°κΈ° - 8 (0) | 2023.02.25 |
---|---|
λ°±μ€ λΈλ‘ μ¦3 2444λ²: λ³ μ°κΈ° - 7 (0) | 2023.02.25 |
λ°±μ€ λΈλ‘ μ¦3 2446λ²: λ³ μ°κΈ° - 9 (0) | 2023.02.20 |
λ°±μ€ λΈλ‘ μ¦3 3009λ²: λ€ λ²μ§Έ μ (0) | 2023.02.20 |
λ°±μ€ λΈλ‘ μ¦3 2442λ²: λ³ μ°κΈ° - 5 (0) | 2023.02.20 |