一道错误答案传遍全网的逻辑面试题
答对三道题或三道题以上的人算及格,那么在这100人中至少有多少人及格呢?
可以得到如下结论:
同时做对AB两题的最少有72人,最多有81人 同时做错AB两题的最多有9人,最少有0人
极限法思维
先不跟你扯,咱们进一步思考,这个反例说明了一点:错题不能随意均摊,那就从这点下手。
第一种分配:
将A,B,C分配给7人 将C,D,E分配给2人 将B,D,E分配给1人
将错题从大到小排序 每次将最大的前3个分配给一人,然后重新排序
你品,你细品,这是不是同一个问题呀。所以要从最高的前3个开始一点一点的削它,哈哈。
int main() {
int a[5], ans = 0;
for (int i = 0; i < 5; ++i) {
cin >> a[i];
}
sort(a, a + 5, compare);
while (a[2] > 0) {
a[0]--;
a[1]--;
a[2]--;
sort(a, a + 5, compare);
ans++;
for (int i = 0; i < 5; ++i) {
cout << a[i] << " ";
}
cout << endl;
}
cout << "ans=" << ans << endl;
return 0;
}
25 20 18 15 9
24 19 17 15 9
23 18 16 15 9
22 17 15 15 9
21 16 15 14 9
20 15 14 14 9
19 14 14 13 9
18 13 13 13 9
17 13 12 12 9
16 12 12 11 9
15 11 11 11 9
14 11 10 10 9
13 10 10 9 9
12 9 9 9 9
11 9 9 8 8
10 8 8 8 8
9 8 8 7 7
8 7 7 7 7
7 7 7 6 6
6 6 6 6 6
6 6 5 5 5
5 5 5 5 4
5 4 4 4 4
4 4 4 3 3
3 3 3 3 3
3 3 2 2 2
2 2 2 2 1
2 1 1 1 1
1 1 1 0 0
0 0 0 0 0
ans=30
重磅!交流群已成立
公众号运营至今,离不开小伙伴们的支持。 为了给小伙伴们提供一个互相交流的技术平台,特地开通了公众号交流群。 群里有不少技术大神,不时会分享一些技术要点,更有一些资源收藏爱好者不时分享一些优质的学习资料。(免费,不卖课!) 需要进群的朋友,可长按扫描下方二维码,备注:GitHub科技
▲长按扫码
评论