• toc {:toc}

문제

19 μ„ΈκΈ° 독일 μˆ˜ν•™μž ν—€λ₯΄λ§Œ λ―Όμ½”ν”„μŠ€ν‚€λŠ” λΉ„μœ ν΄λ¦¬λ“œ κΈ°ν•˜ν•™ 쀑 νƒμ‹œ κΈ°ν•˜ν•™μ„ κ³ μ•ˆν–ˆλ‹€.

νƒμ‹œ κΈ°ν•˜ν•™μ—μ„œ 두 점 T1(x1,y1), T2(x2,y2) μ‚¬μ΄μ˜ κ±°λ¦¬λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆλ‹€.

D(T1,T2) = |x1-x2| + |y1-y2|

두 점 μ‚¬μ΄μ˜ 거리λ₯Ό μ œμ™Έν•œ λ‚˜λ¨Έμ§€ μ •μ˜λŠ” μœ ν΄λ¦¬λ“œ κΈ°ν•˜ν•™μ—μ„œμ˜ μ •μ˜μ™€ κ°™λ‹€.

λ”°λΌμ„œ νƒμ‹œ κΈ°ν•˜ν•™μ—μ„œ μ›μ˜ μ •μ˜λŠ” μœ ν΄λ¦¬λ“œ κΈ°ν•˜ν•™μ—μ„œ μ›μ˜ μ •μ˜μ™€ κ°™λ‹€.

원: 평면 μƒμ˜ μ–΄λ–€ μ μ—μ„œ 거리가 μΌμ •ν•œ μ λ“€μ˜ μ§‘ν•©

λ°˜μ§€λ¦„ R 이 μ£Όμ–΄μ‘Œμ„ λ•Œ, μœ ν΄λ¦¬λ“œ κΈ°ν•˜ν•™μ—μ„œ μ›μ˜ 넓이와, νƒμ‹œ κΈ°ν•˜ν•™μ—μ„œ μ›μ˜ 넓이λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 λ°˜μ§€λ¦„ R 이 μ£Όμ–΄μ§„λ‹€. R 은 10,000 보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€.

좜λ ₯

첫째 μ€„μ—λŠ” μœ ν΄λ¦¬λ“œ κΈ°ν•˜ν•™μ—μ„œ λ°˜μ§€λ¦„μ΄ R 인 μ›μ˜ 넓이λ₯Ό, λ‘˜μ§Έ μ€„μ—λŠ” νƒμ‹œ κΈ°ν•˜ν•™μ—μ„œ λ°˜μ§€λ¦„μ΄ R 인 μ›μ˜ 넓이λ₯Ό 좜λ ₯ν•œλ‹€. μ •λ‹΅κ³Όμ˜ μ˜€μ°¨λŠ”Β 0.0001 κΉŒμ§€ ν—ˆμš©ν•œλ‹€.

좜처:https://www.acmicpc.net/problem/3053

<풀이>

  1. νƒμ‹œ κΈ°ν•˜ν•™μ— λŒ€ν•΄ μ΄ν•΄ν•˜λŠ” κ³Όμ • ν•„μš”. β‡’ νƒμ‹œ κΈ°ν•˜ν•™μ€ μ›μ˜ λ„“μ΄μ˜ λͺ¨μ–‘이 달라짐.
  2. κ΅¬ν˜„μ—μ„œλŠ” μ–΄λ €μš΄ 것이 μ—†μŒ.
  3. β˜… PI μ •μ˜ β‡’ PI = acos(-1) (∡cos(PI)=-1 이 μˆ˜ν•™μ μœΌλ‘œ 증λͺ…됨)
  4. cout μ†Œμˆ˜μ  λ‚˜νƒ€λ‚΄λŠ” 방법 κΈ°μ–΅ν•˜κΈ°!
#include <iostream>
#include <cmath>
 
using namespace std;
 
const double PI = std::acos(-1);
int main() 
{
  	int r;
	double taxi, euclid;
	cin >> r;
	taxi = 2*r*r;
	euclid = PI*r*r;
	cout << fixed;
	cout.precision(6);
	cout << euclid << endl << taxi << endl;
	
	
	return 0;
}