算法学习:枚举法解决假币问题
发布时间
阅读量:
阅读量
例题:假币问题
●输入
首行表示测试数据的组数。 每组数据包含三行,每行对应一次称重的结果。 硬币的编号为 A-L。每次称重结果由三个以空格分隔的字符串组成:
天平左侧所放硬币、天平右侧所放硬币以及平衡状态。 平衡状态分别用"up"、"down"和"even"表示,其中"up"表示右侧较高,"down"表示右侧较低,而"even"则表示平衡。天平两侧所放置的硬币数量始终保持一致。
●输出
需要确定哪一编号的银币为假币,并指出其相对于真币是较轻还是较重。
**●输入样例
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even
●输出样例
K is the counterfeit coin and it is light.
解题思路分析
针对每枚硬币,首先假定其为较轻的一方,并验证该假设是否与称量结果相吻合。若吻合,则问题得以解决;若不吻合,则转而假定该硬币为较重的一方,再次验证是否与称量结果一致。依次对所有硬币进行上述操作,最终必然能够确定出那枚特殊的硬币。
程序:
#include <iostream>
#include <bits/stdc++.h>
using namespace
全部评论 (0)
还没有任何评论哟~
