由于我的考试报告疑似有bug,无法正常显示,故不在此给出代码,仅提供思路,后续若能查看考试时的代码会补充进来。
1、小Q的鲜榨柠檬汁
团建活动是大家所想要的。小Q给大家准备了鲜橙汁。现在有n个朋友买回了k瓶饮料,每瓶有l毫升的饮料,同时还买回了c个柠檬,每个柠檬可以切成d片,p克盐。已知每个朋友需要nl毫升的饮料,一片柠檬,以及np克盐。小Q想知道每个朋友最少可以喝多少杯饮料。
一道简单的小学数学计算题,分别计算饮料、柠檬、盐后取最小值即可。即输出min(k*l/nl,c*d,p/np)/n。
2、三而竭
一鼓作气再而衰三而竭。小艺总是喜欢把任务分开做。小艺接到一个任务,任务的总任务量是n。第一天小艺能完成x份任务。第二天能完成x/k,第t天能完成x/(k^(t-1))。小艺想知道自己第一天至少完成多少才能完成最后的任务。
一开始我想的是求等比数列前n项和极限,但是在写完后发现题目中的任务份数是整数,所以无法直接上等比数列求和公式。考虑直接模拟,不难发现x越大越有可能完成,当x=a能完成时,一定有x=b,b>=a能够完成,满足二分单调性,所以用二分法,下界l=1,上界r=n。当然其他的倍增、分块也是能做的。
3、隧道逃生
小海豚喜欢打游戏,现在它在操纵游戏人物小C逃脱废弃的隧道,逃生装置在小C的前方X米远的位置。但是游戏机只有两个按钮:前进和后退。按前进,小C会前进m米;按后退,小C会后退n米。小海豚必须设法把小C送到逃生装置上,方能逃离隧道,请你帮帮小海豚,告诉它至少要操作多少次,才能通关。
用bfs的话会产生太多重复状态,考虑直接贪心,如果小C当前的距离比X小就前进,比X大就后退,直到小C刚好在装置处。
4、收件邮箱
已知字符串str表示邮箱的不标准格式。其中”.”会被记录成”dot”,”@”记录成”at”。写一个程序将str转化成可用的邮箱格式。可用格式中,字符串除了开头结尾所有”dot”,都会被转换;”at”只会被转化一次,开头结尾的不转化。
这题没什么好说的,直接模拟即可,主要涉及简单的字符串处理。