結果
問題 |
No.1835 Generalized Monty Hall Problem
|
ユーザー |
![]() |
提出日時 | 2022-02-13 21:57:11 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 796 bytes |
コンパイル時間 | 267 ms |
コンパイル使用メモリ | 40,900 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-29 05:50:45 |
合計ジャッジ時間 | 880 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 11 |
ソースコード
/* -*- coding: utf-8 -*- * * 1835.cc: No.1835 Generalized Monty Hall Problem - yukicoder */ #include<cstdio> #include<algorithm> using namespace std; /* constant */ /* typedef */ typedef long long ll; /* global variables */ /* subroutines */ template <typename T> T gcd(T m, T n) { // m > 0, n > 0 if (m < n) swap(m, n); while (n > 0) { T r = m % n; m = n; n = r; } return m; } /* main */ int main() { int n, m, k; scanf("%d%d%d", &n, &m, &k); /* 1st time: m/n 2ned time: (m/n)*(m-1)/(n-k-1)+((n-m)/n)*m/(n-k-1) = (m*(m-1)+(n-m)*m)/(n*(n-k-1)) = m(n-1)/(n(n-k-1)) = (m/n)*((n-1)/(n-k-1)) */ ll p = (ll)m * (n - 1), q = (ll)n * (n - k - 1); ll g = gcd(p, q); p /= g, q /= g; printf("%lld %lld\n", p, q); return 0; }