[生活中的小算法]晒袜子的问题

213 阅读1分钟

题:

  1. 程序君有3双袜子
  2. 他有一个衣挂刚刚好能晒两双袜子(一左一右)
  3. 每天洗掉当天穿的袜子,同时收掉前天晾的袜子来穿
  4. 糊涂的程序君总记不住哪条袜子是前天洗的,如果两条袜子都晒干了也摸不出哪条是前天洗的
  5. 程序君很固执,那么有没有办法一眼就找出前天的袜子

解:

  1. 假设袜子晾晒有两种表现:头朝外和筒朝外
  2. 如果两双袜子都朝向一致,则收左边的,否则收右边的
  3. 收完袜子之后,如果左边有空,则把洗过的袜子跟右边的方向相反晾晒;如果右边有空,则跟左边的袜子方向一致

果:

程序君继续过着糊涂的生活