Chinaunix首页 | 论坛 | 博客
  • 博客访问: 237125
  • 博文数量: 108
  • 博客积分: 3092
  • 博客等级: 中校
  • 技术积分: 1172
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 16:35
文章分类

全部博文(108)

文章存档

2011年(3)

2010年(43)

2009年(19)

2008年(43)

我的朋友

分类:

2008-09-18 20:43:10

13个球,其中一个坏球和其他不同,称三次,找出它
将球分为三组:

A:1,2,3,4
B:5,6,7,8
C:9,10,11,12,13
 
step1:

A---B
if(A==B) goto step2-1
if(A>B)  goto step2-2
if(A
 
step2-1:

坏球在C中,
1,2,3---9,10,11
if(左边重)
   坏球在9,10,11且偏轻 goto step3-1
if(右边重)
   坏球在9,10,11且偏重 goto step3-2
else
  坏球在12,13,goto step3-3
 
step2-2

1,2,3,5,6
---9,10,11,12,13
if(相等)
   坏球在4,7,8中 goto step3-4
if(左边重)
   坏球在1,2,3中,且较重 goto step3-2
if(右边重)
   坏球在5,6中,且较轻 goto step3-3
 
step2-3

1,2,3,5,6---9,10,11,12,13
if(相等)
   坏球在4,7,8中 goto step3-4'
if(左边重)
   坏球在5,6中,且较重 goto step3-3'
if(右边重)
   坏球在1,2,3中,且较轻 goto step3-2'
 
step3-1

9--10
if(9==10) 11坏
if(9<10)  9坏
else      10坏
 
step3-2

原理同上
 
step3-2'

原理同上
 
step3-3

5--6
重的是
 
step3-3'

5--6
轻的是
 
step3-4

7--8
if(7==8)
  4坏
if(7>8)
  坏球轻,8坏
if(7<8)
  坏球轻,7坏
 
step3-4‘

原理同上
 
 
 
 
 
阅读(529) | 评论(0) | 转发(0) |
0

上一篇:[c++] incline函数

下一篇:[c++] about static

给主人留下些什么吧!~~