Jeter les chats de windows

Imaginez que vous êtes dans un grand bâtiment avec un chat. Le chat peut survivre à une chute d'une basse histoire de la fenêtre, mais mourront si elles sont lancées à partir d'un étage élevé. Comment pouvez-vous trouver la plus longue chute que le chat peut survivre, en utilisant le moins de tentatives?

Évidemment, si vous avez un chat, vous ne pouvez rechercher de manière linéaire. D'abord jeter le chat à partir du premier étage. Si elle survit, jeter de la seconde. Finalement, après avoir été jeté du sol f, le chat va mourir. Vous savez alors que f-1 est le maximum coffre-fort-de-chaussée.

Mais que faire si vous avez plus d'un chat? Vous pouvez maintenant essayer une certaine sorte d'logarithmique de recherche. Disons que la compilation de 100 étages et vous avez deux identiques chats. Si vous jetez le premier chat de la 50ème étage et il meurt, vous n'avez alors qu'à la recherche de 50 étages de façon linéaire. Vous pouvez faire encore mieux si vous choisissez un étage inférieur pour votre première tentative. Disons que vous choisissez de traiter le problème de 20 étages à la fois et que le premier fatal étage est n ° 50. Dans ce cas, votre premier chat va survivre vols à partir de planchers de 20 et 40 avant de mourir de sol 60. Vous n'avez qu'à vérifier les planchers de 41 à 49 individuellement. C'est un total de 12 tentatives, qui est beaucoup mieux que le 50 vous devez vous avais tenté d'utiliser les binaires élimination.

En général, quelle est la meilleure stratégie et c'est pire-la complexité de l'affaire pour un n étages, avec 2 chats? Et pour le n étages et m les chats?

Supposer que tous les chats sont équivalents: ils seront tous de survivre ou de mourir d'une chute d'une fenêtre donnée. Aussi, chaque tentative est indépendant: si un chat survit à une chute, il est complètement indemne.

Ce n'est pas de devoirs, même si j'ai résolu pour l'école d'affectation une fois. C'est juste un lunatique problème qui surgit dans ma tête aujourd'hui, et je ne me souviens pas de la solution. Les points de Bonus si quelqu'un sait le nom de ce problème ou de la solution de l'algorithme.

  • Je m'oppose à l'utilisation de chats dans la façon décrite. Pouvons-nous changer pour les chiens?
  • Il n'est pas simple. Des études ont été faites (des chats tomber accidentellement du gratte-ciel, ne pas être jeté). Il y avait une certaine plage où ils sont morts, et une gamme *** de plus que ce *** d'où ils ont survécu. Quelque chose à propos de la façon dont ils se crispa de leur corps.
  • C'est un casse-tête qui est sur internet que l'un d'eux a demandé à google d'entrevue (je ne connais pas la véracité de cela), mais voici la solution http://interviewpuzzle.blogspot.com/2010/03/google-interview-puzzle-2-egg-problem.html
  • J'ai lu quelque part que 15ft ou au-dessus, les chats ont une plus grande chance de survivre. Cette question serait mieux si nous étions à la chute de l'ex-petites amies et/ou de harceler les femmes.
  • Avez-vous lu jusqu'à la fin où il a dit qu'il n'est pas de devoirs? Il peut être allongé pour nous, mais nous allons voir.
  • Si vous avez un chat, et de le jeter de étages successifs, il va également soutenir les blessures non mortelles de la précédente jeté par la fenêtre événements. Quand le chat est finalement levée à partir de la fenêtre qui s'avère fatale, nous ne pouvons déterminer que c'était l'automne ou le collectif de blessures qui a tué la bête. Par conséquent, le chat doit être autorisé à recouvrer entièrement entre les étages, avant d'être chucked par la fenêtre à nouveau.
  • Est-il une meilleure solution que binaire de recherche? Démarrer à partir du milieu, si le chat meurt jeter la moitié supérieure, si le chat vit jeter la moitié inférieure, de manière récursive.
  • Le problème est que vous avez seulement un nombre limité d'essais sur les gammes supérieures.
  • Oh, essayons-nous de préserver les chats de la vie? Je pensais que nous étions aller juste pour un minimum de tentatives. Pour un minimum de pertes, il vous suffit de faire une recherche linéaire en partant du bas.
  • Nous n'allons pas pour un minimum de pertes, nous allons nous pour un minimum de tentatives. Mais nous avons une contrainte sur le nombre maximum de victimes.
  • Bien sûr, il n'est pas à propos de Microsoft, c'est à propos des fenêtres en verre...
  • Je crois que c'est mieux résolus avec le bien connu Défenestration Modèle, plus concise dans le LOLCODE langage de programmation.
  • Vous savez, si vous commencez avec deux chats, vous avez juste à attendre quelques mois et puis exécutez une recherche binaire. Ou attendre quelques mois après et faire une "recherche simultanée," dans lequel vous obtenez des aides pour jeter les chats de chaque étage à la fois-- le comte de survie des chats dans ce cas est le plus haut numéro de l'étage, vous pouvez jeter 'em à partir, bien sûr.
  • Avec des lapins, des changement "mois" à "semaines".
  • sauf si vous commencez avec deux chats mâles. alors vous êtes en difficulté, surtout après quelques mois.
  • +1 pour toute question, qui implique que la qualification de "supposer que tous les chats sont équivalentes".
  • Je suis en désaccord, si les chats sont une paire de reproduction, puis vous vous retrouverez à l'aide d'un de fibonacci de recherche
  • C'est un très bon puzzle intellectuel du type appréciée par les programmeurs, mais je ne vois pas comment elle est elle-même liée à la programmation ou le développement de logiciels.
  • Je suis sûr que c'est un dupe. Mais la question d'origine utilisé quelque chose d'autre cassable autres que les chats.
  • Aw, pas plus windows ou fatal balises. 🙁
  • Puis-je jeter ces deux chats en même temps? De cette façon, le premier chat pourrait amortir le deuxième chat est l'automne, donc de l'enregistrer.
  • Les chatons et les chats vont tomber différemment. Mon FIL chaton est allé de parachutisme de la 27e étage. Il était en boitant un peu par la suite. Ainsi, vous aurez à attendre plusieurs mois pour exécuter votre recherche binaire.
  • Je voudrais que les gens utilisent ce site pour discuter de la programmation. Je suis malade de ces postes qui sont considérés comme des blagues à faire beaucoup d'attention et inutile de réponses. Je knw, je sais, je n'ai pas cliquer...
  • Lunatique, il peut être, mais ce n'est pas une blague...C'est valable de puzzle de logique nécessitant beaucoup de complexes calculs algorithmiques afin de le résoudre. Des sons à droite de l'allée d'une communauté de développeurs
  • J'ai eu cela comme une question d'entrevue avec des boules de billard
  • Les chats ont 9 vies. Vous pouvez simplement le jeter de la plus basse de la fenêtre et l'incrément de la hauteur jusqu'à ce qu'il meurt.
  • Notez que c'est identique à Google Code Jam "la Chute de l'Oeuf problème". Le O(n^3) la solution ci-dessous n'est pas assez bon, parce que le grand problème réglé utilise N = 2000000000. code.google.com/codejam/contest/dashboard?c=32003#s=p2
  • Ne pas les chats ont un non-fatal vitesse terminale?
  • en.wikipedia.org/wiki/Buttered_cat_paradox
  • J'avais utilisation de Schrödinger, le chat du pour cette.
  • pour que vous n'avez pas besoin d'un chat, juste un peu de rembourrage tout ça pourrait le faire. que fait-il pas lié à la question en cours.
  • Question appartient à la Programmation des Énigmes & Code de Golf de la pile d'échange du site (codegolf.stackexchange.com)
  • les deux personnes qui upvoted ce commentaire), non, ce n'est pas le cas. PPCG est pour l'hébergement de concours, pas d'en débattre.
  • l'OP est clairement demandant une réponse, pas une discussion. C'est un casse-tête, pas une pratique de la programmation ou codage problème, donc je m'en tiens à mon commentaire.
  • à mesure que votre affirmation est que la question est hors sujet sur cette pile, je ne discute pas. Mais pour les utilisateurs qui connaissent l'existence des PPCG mais ne participent pas il y a souvent des idées erronées de ce sujet là, et votre commentaire est en ligne. L'OP est clairement le but n'est pas d'accueillir un concours de programmation, il est donc hors sujet pour PPCG. Il serait probablement sur le sujet de la très récente puzzles.stackexchange.
  • bien à l'aide du chat de Schrödinger n'est pas conseillé ici, il est tout à fait le problème est plus compliqué ..:)

InformationsquelleAutor AndrewF | 2010-10-20