結果
| 問題 |
No.221 犯罪都市
|
| コンテスト | |
| ユーザー |
startcpp
|
| 提出日時 | 2015-06-06 13:51:06 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 1,113 bytes |
| コンパイル時間 | 699 ms |
| コンパイル使用メモリ | 54,236 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-24 22:43:22 |
| 合計ジャッジ時間 | 1,363 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
ソースコード
//考察:
//一般人だろうと構成員だろうと99%の確率で正しく判定できる。
//正誤判定には、実際の種類と判定された種類が必要、また、それだけで十分なので、次の4パターンに分けられる。
//(A)一般人が一般人と判定される…一般人の99%
//(B)一般人が構成員と判定される…一般人の1%
//(C)構成員が構成員と判定される…構成員の99%
//(D)構成員が一般人と判定される…構成員の1%
//誤認逮捕とは(B)のことである。逮捕した人の集合は(B) || (C)そのものである。
//したがって、(B)の大きさ * 100/((B) || (C)の大きさ) [%]を出力すればよい。
//なお、(A)~(D)は互いに排他的である。そのため、(B) || (C)の大きさは、(B)の大きさと(C)の大きさの和となる。
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int n;
cin >> n;
//一万人あたり何人いるかで考えてみる
double b = (10000 - n)/100.0;
double c = n * 99/100.0;
printf("%.14f\n", b * 100/(b+c));
return 0;
}
startcpp