BISHI67 穿搭大挑战¶
简单通过率 62.31%python3样例通过牛客 AC
一句话
上衣 a 件、裤子 b 条、鞋 c 双,必须忘穿其中一类,求方案数。
解题思路¶
这题考什么¶
最朴素的乘法原理 + 加法原理。 「忘穿一种」意味着恰好穿剩下的两类各一件,三种互斥情形:
- 忘穿上衣:b * c
- 忘穿裤子:a * c
- 忘穿鞋 :a * b
答案 = ab + bc + c*a。三类方案不会重复(缺的那一类不同,穿搭本身就不同)。
验算样例:a=2,b=1,c=2 -> 21 + 12 + 2*2 = 2+2+4 = 8 ✓
数据规模与复杂度¶
T <= 1e3,a,b,c <= 1e9。每组 O(1)。 答案最大 3 * 1e18 = 3e18,尚在 int64 上界 9.22e18 之内,但已是同一量级: C++ 必须用 long long,用 int 会直接溢出;Python 的 int 是无限精度,不受影响。 题目没要求取模,所以要输出精确值。
坑在哪¶
- 题目没说取模,别自作主张 mod 1e9+7;
- 别把「忘穿一种」理解成「至多忘穿一种」(那还要加上 abc)—— 样例 8 = 2+2+4 明确排除了全穿的 4 种;
- T 到 1e3,随手用缓冲读即可。
参考实现¶
[:octicons-arrow-left-16: BISHI66](BISHI66.md) [BISHI68 :octicons-arrow-right-16:](BISHI68.md)