結果
| 問題 | No.662 スロットマシーン | 
| コンテスト | |
| ユーザー |  ant2357 | 
| 提出日時 | 2018-03-11 19:00:12 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 4 ms / 2,000 ms | 
| コード長 | 1,077 bytes | 
| コンパイル時間 | 2,493 ms | 
| コンパイル使用メモリ | 208,476 KB | 
| 最終ジャッジ日時 | 2025-01-05 09:14:54 | 
| ジャッジサーバーID (参考情報) | judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
using ld = long double;
const int INF = (1 << 30) - 1;
const ll INF64 = ((ll)1 << 62) - 1;
const double PI = 3.1415926535897932384626433832795;
const int dx[] = { 0, 1, 0, -1 };
const int dy[] = { -1, 0, 1, 0 };
int main() {
	//ios::sync_with_stdio(false);
	//cin.tie(0);
	const int DESIGN_NUM = 5;
	const int REEL_NUM = 3;
	vector<string> str(DESIGN_NUM);
	vector<int> coin(DESIGN_NUM);
	for (int i = 0; i < DESIGN_NUM; i++) {
		cin >> str[i] >> coin[i];
	}
	vector<map<string, int>> mp(REEL_NUM);
	vector<int> n(REEL_NUM);
	for (int i = 0; i < REEL_NUM; i++) {
		cin >> n[i];
		for (int j = 0; j < n[i]; j++) {
			string s;
			cin >> s;
			mp[i][s]++;
		}
	}
	double ansA = 0;
	vector<ll> ansB(DESIGN_NUM);
	for (int i = 0; i < DESIGN_NUM; i++) {
		string s = str[i];
		ansB[i] = 5LL * mp[0][s] * mp[1][s] * mp[2][s];
		ansA += ansB[i] * coin[i];
	}
	for (int i = 0; i < REEL_NUM; i++) {
		ansA /= n[i];
	}
	printf("%.10lf\n", ansA);
	for (auto v : ansB) {
		cout << v << endl;
	}
	return 0;
}
            
            
            
        