結果
| 問題 |
No.3151 natural math of inscribed circle
|
| コンテスト | |
| ユーザー |
tnakao0123
|
| 提出日時 | 2025-05-21 15:06:34 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 527 bytes |
| コンパイル時間 | 356 ms |
| コンパイル使用メモリ | 60,488 KB |
| 実行使用メモリ | 7,844 KB |
| 最終ジャッジ日時 | 2025-06-20 03:02:24 |
| 合計ジャッジ時間 | 1,535 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 41 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:16:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
16 | scanf("%d%d%d", &a, &b, &c);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~
ソースコード
/* -*- coding: utf-8 -*-
*
* 3151.cc: No.3151 natural math of inscribed circle - yukicoder
*/
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
/* main */
int main() {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
// Helon's formula:
// Let d=(a+b+c)/2 -> sqrt(d(d-a)(d-b)(d-c))
double d = 0.5 * (a + b + c);
double s = sqrt(d * (d - a) * (d - b) * (d - c));
// r*a/2+r*b/2+r*c/2=s -> r*(a+b+c)/2=s -> r=s*2/(a+b+c)
double r = s / d;
printf("%.15lf\n", r);
return 0;
}
tnakao0123