CF656B Scrambled

题目描述

你和你的室友都讨厌洗碗,但每天还是得有人完成这项家务。一天,你决定引入某种制度。你的室友提出了以下约定。你们约定两个长度为 $N$ 的整数数组 $M$ 和 $R$,将接下来的若干天(包括今天)编号为连续的整数(今天为 $0$)。如果对于某个索引 $i$,有 $D \bmod M[i] = R[i]$,那么在第 $D$ 天你就需要洗碗;否则你的室友洗碗。你很喜欢这个主意,但你室友那狡猾的微笑让你有所怀疑,于是你打算验证这个协议是否公平。 给定数组 $M$ 和 $R$,计算你最终需要洗碗的天数所占的百分比。假设你们有无限多的日子。

输入格式

输入的第一行为一个整数 $N$($1 \le N \le 16$)。 接下来的第二行和第三行各包含 $N$ 个整数,均在 $0$ 到 $16$ 之间,分别表示数组 $M$ 和 $R$。所有 $M[i]$ 均为正数,并且对于每个 $i$,有 $R[i] < M[i]$。

输出格式

输出一个实数。若答案的绝对误差或相对误差不超过 $10^{-4}$,则视为正确。

说明/提示

你和室友都讨厌洗碗,但每天还是得有人完成这项家务。一天,你决定引入某种制度。你的室友提出了以下约定。你们约定两个数组 $M$ 和 $R$,将未来的每一天用连续整数编号(今天为 $0$)。在第 $D$ 天,只要存在某个索引 $i$ 使得 $D \bmod M[i] = R[i]$,你就得洗碗,否则你室友做这事。你喜欢这个主意,但是你室友神秘的笑容让你怀疑什么,于是你打算验证这个协议是否公平。已知 $M$ 和 $R$,计算你最终需要洗碗的天数所占比例。假定你们有无限多的日子。 由 ChatGPT 5 翻译