Codeforces#386div.2 2017-01-07 practice

A  Compote

水题

代码:传送们


B    Decoding

题意:一个字符串的加密方法是,不断拿出其中间的字符接在加密字符串后,若长度为偶数,则取其中间两个字符左边那个,现给一个加密串,解密

题解:计一个l,一个r,分别每拿出一个字符后,长度为偶数时的位置,和长度为奇数时的位置,可以发现加密时,一个在左移,一个在右移,那么我们只要反着解密就行了
代码:传送门


C Tram

题意:一两车以每米t1秒的速度在0~s之间往返,一个人以每米t2秒的速度从x1走到x2,人可以坐车或不坐车,现知道车的位置和其移动方向,求人从x1到x2最小耗时.

题解:3种情况,坐车或不坐车,或先走等车到跟前再坐车,经分析可以发现,第一种跟第三种其实都是一种情况,总时间都是车子的从其起点到x2的时间,那么我们只要判断人从x1走到x2和车子按其行驶路线由起点到x1再到x2这段路的时间谁小就行了

代码:传送门


D Green and Black Tea

题解:一人有a包绿茶和b包黑茶共n包,他要喝掉所有的茶,但不能连续喝同一种茶超过k次,问能否喝完,若能喝完,输出任一种喝茶顺序

题解:有几种情况.

  1.一种茶为0包,没啥好说的.

  2.两种差数量相等,这个只要把两种茶交替着喝,只要k>1就成立

  3.两种茶数量不等,考虑由数量多的茶先喝,假设a>b,则每喝s包绿茶,喝一包黑茶,这样可以确定一定是把绿茶均分为b+1份来喝,s=a/(b+1).若a不能被b+1整除,则一定有一   段或几段是喝s+1包的,所以这时k必须大于等于s+1.

代码:传送门

你可能感兴趣的:(Codeforces)