资源描述:
《《NET程序员面试宝典》未出版的107》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10章继承与接口10.7其他面试例题1:MARSROVERS问题。[美国著名软件公司T面试题]AsquadofroboticroversaretobelandedbyNASAonaplateauonMars.Thisplateau,whichiscuriouslyrectangular,mustbenavigatedbytheroverssothattheiron-boardcamerascangetacompleteviewofthesurroundingterraintosendbacktoEarth.Arover'spositionandlocationisrepre
2、sentedbyacombinationofxandyco-ordinatesandaletterrepresentingoneofthefourcardinalcompasspoints.Theplateauisdividedupintoagridtosimplifynavigation.Anexamplepositionmightbe0,0,N,whichmeanstheroverisinthebottomleftcornerandfacingNorth.Inordertocontrolarover,NASAsendsasimplestringofletters.Thep
3、ossiblelettersare'L','R'and'M'.'L'and'R'makestheroverspin90degreesleftorrightrespectively,withoutmovingfromitscurrentspot.'M'meansmoveforwardonegridpoint,andmaintainthesameheading.AssumethatthesquaredirectlyNorthfrom(x,y)is(x,y+1).INPUTThefirstlineofinputistheupper-rightcoordinatesoftheplat
4、eau,thelower-leftcoordinatesareassumedtobe0,0.Therestoftheinputisinformationpertainingtotheroversthathavebeendeployed.Eachroverhastwolinesofinput.Thefirstlinegivestherover'sposition,andthesecondlineisaseriesofinstructionstellingtheroverhowtoexploretheplateau.Thepositionismadeupoftwointegers
5、andaletterseparatedbyspaces,correspondingtothexandyco-ordinatesandtherover'sorientation.Eachroverwillbefinishedsequentially,whichmeansthatthesecondroverwon'tstarttomoveuntilthefirstonehasfinishedmoving.103第10章继承与接口OUTPUTTheoutputforeachrovershouldbeitsfinalco-ordinatesandheading.INPUTANDOUT
6、PUTTestInput:5512NLMLMLMLMM33EMMRMMRMRRMTestOutput:13N51E火星探测器问题。一小队机器人探测器将由NASA送上火星高原,探测器将在这个奇特的矩形高原上行驶。用它们携带的照相机将周围的全景地势图发回地球。每个探测器的方向和位置将由一个(x,y)系坐标图和一个表示地理方向的字母表示出来。为了方便导航,平原将被划分为网格状。位置坐标示例:0,0,N,表示探测器在坐标图的左下角,且面朝北方。为控制探测器,NASA会传送一串简单的字母。可能传送的字母为:“L”、“R”和“M”。“L”和“R”分别表示使探测器向左、向右旋转90o,但不
7、离开它所在地点。“M”表示向前开进一个网格的距离,且保持方向不变。假设以广场(高原)的正北方向为Y轴的指向。输入:首先输入的line是坐标图的右上方。假定左下方顶点的坐标为(0,0)。剩下的要输入的是被分布好的探测器的信息。每个探测器需要输入两个lines。第一条line提供探测器的位置,第二条是关于这个探测器怎样进行高原探测的一系列说明。位置是由两个整数和一个区分方向的字母组成的,对应了探测器的(x,y)坐标和方向。每个探测器的移动将按序完成,即后一个探测器不能在前一个探测器完成移动之前开始移动。输出