結果
問題 |
No.959 tree and fire
|
ユーザー |
![]() |
提出日時 | 2020-02-02 15:04:39 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,137 bytes |
コンパイル時間 | 2,037 ms |
コンパイル使用メモリ | 198,484 KB |
最終ジャッジ日時 | 2025-01-08 21:50:58 |
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
コンパイルメッセージ
main.cpp:1:9: warning: #pragma once in main file 1 | #pragma once | ^~~~
ソースコード
#pragma once #include <bits/stdc++.h> #define M_PI 3.14159265358979323846 // pi using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector<int> VI; typedef pair<ll, ll> P; typedef tuple<ll, ll, ll> t3; typedef tuple<ll, ll, char, ll> t4; #define rep(a,n) for(int a = 0;a < n;a++) #define repi(a,b,n) for(int a = b;a < n;a++) const ll mod = 1000000007; bool Compare(t4& left, t4& right) { ll a, b, d, e, f,h; char c, g; tie(a, b, c, d) = left; tie(e, f, g, h) = right; if (a == e) { return d < h; } return a < e; } int main(void) { ll n, m; cin >> n >> m; double p; cin >> p; cout << fixed << setprecision(10); if (n == 1 && m == 1) { cout << p << endl; return 0; } else if (n == 1) { double r = pow(p, 2) * 2 + pow(p, 3) * (m - 2); cout << r << endl; return 0; } else if (m == 1) { double r = pow(p, 2) * 2 + pow(p, 3) * (n - 2); cout << r << endl; return 0; } else { double r = pow(p, 3) * 4 + pow(p, 4) * (n - 2) * 2 + pow(p, 4) * (m - 2) * 2; r += pow(p, 5) * max(n - 2, 0LL) * max(m - 2, 0LL); cout << r << endl; return 0; } }