有十二个球,颜色和大小都一样,但是有唯一个的一个重量和其它的十一个不同,但是我们不知道这唯一个的一个比其它十一重还是轻(请务必记住这一点).
有一个天平,只能用这个天平三次(比如秤一次,再把两边的球交换秤一次算两次),找出这个球.从外观和形状上我们分辩不出来这一个球.请用语言表述清楚.答对者可以进华为.
有一个天平,只能用这个天平三次(比如秤一次,再把两边的球交换秤一次算两次),找出这个球.从外观和形状上我们分辩不出来这一个球.请用语言表述清楚.答对者可以进华为.
解决方案 »
- 对于多个同名窗口,怎样获取每个窗口的窗口句柄?
- 散分 攒点人品 嘿嘿
- 怎么固定子对话框
- 小问题,分也不少--想用shellexecute执行这么一个操作,应该怎么写
- 一個CString和char數組轉化的問題
- 由诺顿的专杀工具想起的,单线程程序的实时响应问题。。。。。。。
- 为什么我在一个对话框上的CListCtrl控件的void VoittDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)里的代码不执行呢?
- asp.net连接oracle 数据库,高手请进
- 一个打开文件的错误!
- 实在忍无可忍,对【珊瑚虫和飘云】 实践,说两句!
- 俺刚学VC,请问哪儿有《mfc深入浅出》的下载?多谢了!
- 怎么在一个视频窗口上画一个矩形吗?用鼠标可以拖动,移到合适的地方,然后截图!
if 平衡 then
球X在9-12号球中
9-10号球放在左边,1号球和11号球放在右边
if 平衡 then
X = 12
else
球X在9-11号球中
拿走右边的1号球和11号球
把10号球从左边移到右边
if 平衡 then
X = 11
elseif 不平衡状态从一边偏转到另一边 then
X = 10
else //保持原来的不平衡状态
X = 9
endif
endif
else
球X在1-8号球中
拿走右边的6-8号球
把2-4号球从左边移到右边
if 平衡 then
球X在6-8号球中
此时可以通过上次的平衡状态确定球X是重球还是轻球
把6号球放在左边,7号球放在右边
if 平衡 then
X = 8
elseif 保持原来的不平衡状态 then
X = 7
else //不平衡状态从一边偏转到另一边
X = 6
endif
elseif 不平衡状态从一边偏转到另一边 then
球X在2-4号球中
可以通过次是的平衡状态确定球X是重球还是轻球
把2号球放在左边,3号球放在右边
if 平衡 then
X = 4
elseif 保持原来的不平衡状态 then
X = 3
else //不平衡状态从一边偏转到另一边
X = 2
endif
else // 保持原来的不平衡状态
球X是1号球或5号球
把1号球放在左边,2号球放在右边
if 平衡 then
X = 5
else
X = 1
endif
endif
endif
这句话是什么意思:
球X在1-8号球中
拿走右边的6-8号球
把2-4号球从左边移到右边
这里不懂.这是天平上球应该是:左边1,2 ,3,4,右边是:5,6,7,8
你拿走6,7,8,再把2,3,4放到右边吗?
这样好像不对呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
如果那个不平衡的球是重球,那么在你的第一步中“取出其中两份放到天平两边,如果相等,则第三个球为所求”本身就不成立。
2.取D中两个球比较,不等得到结论
3.若相同则取另两个球
A1A2A3A4
B1B2B3B4
C1C2C3C4(1) A1A2A3A4 --- B1B2B3B4
if Equal
{
C1C2 --- AxAy or BxBy or AxBy (x,y = 1,2,3,4 x!=y)
....(结合C1C2是重是轻或相等的信息判断)
}
else
{
A1A2B1B2 --- B3B4C1C2
....(结合A1A2B1B2是重是轻或相等的信息判断)
....
}
这里少写一句,应该在把9-11号球放在左边
windowssky(二条一对)
二位大侠,请明言,小弟不明白.
//目标在abcd中
if (abc==ABC) { //ABC为标准球....第二次
//目标d
if (d > 1) { //第三次
坏球为d,重;
} else {
坏球为d,轻;
}
} elseif (abc > ABC) { //ABC为标准球....第二次
//目标在abc中,坏球较重
if (aA == bB) { //第三次......
坏球为c,重;
} elseif (aA > bB) { //第三次......
坏球为a,重;
} else { //第三次......
坏球为b,重
}
} else { //ABC为标准球....第二次
//目标在abc中,坏球较重
//同上解法,第三次......
}
} elseif (ABCD > 1234) { //第一次...则abcd为标准
//目标在ABCD1234中, 拿掉234
if (Aabc == 1BCD) { //第二次...
//目标在234中..轻..
//第三次...解法同上...
} elseif (Aabc < 1BCD) {
//目标在BCD中...重...
//第三次...解法同上...
} else {
//目标中A或1中...1则轻,A则重
}
} else { //第一次....ABCD<1234
//目标在ABCD1234中,拿掉BCD
if (A234 > 1abc) {//.....
//目标在234...重..
} elseif (A234 < 1abc) {
//目标在A或者1...A则轻..1则重..
} else {
//目标在BCD...轻..
//第三次...解法同上...
}
}
3, 7, 9, 2: 1, 4, 6, 10 (第一次称不平衡时)第一次称天平倒向方向第二次称天平倒向方向第三次称天平倒向方向 异常球编号A A B1A A A2A B A3A B B4A A 平衡 5A 平衡 A 6A 平衡 B 7A 平衡 平衡8平衡 AA9平衡 AB10平衡 A平衡 11平衡 平衡 A12平衡 平衡 平衡 13看懂了吗?我这个方法简单,不需要详细的说明,
你第一步就错了.
你的办法是绝对错了的 你自己好好看看 :)
你怎么知道if 1,3<2,4,就是3号轻了 为什么不是说4号重了
分三组ABC球分别为A1A2A3A4,B1B2B3B4,C1C2C3C4
第一次称A组与B组
如果相等则球在C组
第二次称A1A2与C1C2如果相等则球在C3C4
第三次称A1与C3如果相等则该球为C4(不知道轻还是重)如果不等则球为C3(可知道轻重)
第二次称如果不等则球在C1C2中(且知道轻重了)
第三次称A1与C1相等则球为C2不相等则球为C1
第一次称不相等则球在A组或者B组(有两种情况A组重于B组 OR B组重于A组)
第二次称A1B1B2B3与B4C1C2C3
如果相等则球在A2A3A4中(如果A重则该球为重球,否则为轻球)
第三次称A2与A3如果相等则球为A4不等则根据已经判断出的轻重得出球为A2或者A3
第二次称如果不相等(分情况讨论这里只讨论第一次称A组重的情况,另外那重照推是一样的)
如果A1B1B2B3重可推断该球为A1或者B4(理由:如果球在B1B2B3中那么该球必定为轻球因为A组重于B组,那么就不可能会有A1B1B2B3比B4C1C2C3重)
第三次称C1与A1如果相等则球为B4(且为轻球)否则为A1(且为重球)
如果A1B1B2B3轻可推断该球在B1B2B3中(理由:上面已经说了)(且为轻球)
第三次称B1与B2如果相等则球为B3否则球为轻的一边的那个球。
这位大哥,NB呀,太NB了.
老孙我佩服呀.
请这位大虾明示.