結果
問題 |
No.2871 Universal Serial Bus
|
ユーザー |
![]() |
提出日時 | 2024-09-06 21:46:31 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 851 bytes |
コンパイル時間 | 1,109 ms |
コンパイル使用メモリ | 96,984 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-06 21:46:46 |
合計ジャッジ時間 | 1,815 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 15 WA * 3 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int h, w; cin >> h >> w; vector<string> s(h), t(h); for (int i = 0; i < h; ++i) cin >> s[i]; for (int i = 0; i < h; ++i) cin >> t[i]; int flag[2] = {1, 1}; for (int _t = 0; _t < 2; ++_t) { reverse(s.begin(), s.end()); int tmp = 1; for (int i = 0; i < h; ++i) { for (int j = 0; j < w; ++j) { if (s[i][j] == t[i][j]) { tmp = 0; i = h, j = w; } } } flag[_t] = tmp; } if (flag[0] == 0 && flag[1] == 0) { cout << -1 << endl; return 0; } long double ans = 0, v = 1, now = 1; for (int i = 1; i < 100000; ++i) { if (flag[i % 2]) { ans += now * i * (1 - v); now *= v; } v /= 2.0; } printf("%.10llf\n", ans); }