Wednesday, August 18, 2010

IOI2010 Day 1 Бодлого 2

Боодлого 2: Hotter Colder
Жак Жилл 2 Хоттер Колдер гэх тоглоом тоглдог. Жилл 1-N хүртлэх тооноос нэгийг санаж, Жак таахыг хэд хэдэн удаа оролдоно. Мэдээж Жак-н хэлж буй тоонууд нь 1-N завсарт байх ба оролдлого бүрт Жак hotter, colder, same гэсэн хариултыг өгнө. Жакын эхний оролдлогонд Жилл same гэсэн хариултыг өгнө. Үлдсэн оролдлогуудад Жилл дараах нөхцөлийг харж хариултаа хэлнэ.
• Хэрэв Жиллын санасан тоонд Жакын одоогийн хэлсэн тоо нь Жакын өмнөх оролдлогонд хэлсэн тооноос илүү ойрхон байвал hotter.
• Хэрэв Жиллын санасан тоонд Жакын одоогийн хэлсэн тоо нь Жакын өмнөх оролдлогонд хэлсэн тооноос илүү хол байвал colder.
• Хэрэв хол ч биш ойрхон ч биш бол same.
Таны даалгавар бол Жакын үүргийг гүйцэтгэх HC(N) програм зохио. Guess(G) нь 1<=G<=N ба 1 утга буцаавал hotter -1 утга буцаавал colder, 0 утга буцаавал same . HC(N) функц нь Жиллын санасан тоог буцаах ёстой.
Жишээ.
Доорх жишээнд N=5 мөн Жилл 2 гэсэн тоог санасан болно.


ДуудалтБуцаасан утгТайлбар
Guess(5)0Same анхны дуудалтаар буцаана гэж байгаа

Guess(3)1Hotter
Guess(4)-1Colder
Guess(1)1Hotter
Guess(3)0Same



No comments:

Post a Comment