14007: 【原4007】Brick
题目
题目描述
author: 巢子琛 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4007
Brick
Description
由于在编程之美上大展身手,dzm赢得了去ms实习的机会,但是实习生进去先要完成一样考验,那就是搬砖。 搬砖的规则很奇葩,dzm需要做的是将编号为1到n的砖从大拖车A搬到大拖车B,且一次只能搬一块砖,这个任务看似很简单,但还有特殊的要求:
要求1:初始状态下,A中的砖块是从上到下按顺序排成一列,最上面是砖块1,最下面是砖块n,而当一块砖块i要放到B中时, B中已有的最上面那块砖一定要是i+1(当i=n时B中应该没有砖块),也就是说砖块i只能放到砖块i+1的上面。
要求2:我们可以发现要求1只能在n=1时才可能满足,于是ms给了dzm一些辅助,那就是另外x个大拖车和y个小拖车,dzm可以将这些拖车作为砖块的一个中转位置 ,但同时,当砖块放到这x个大拖车时也要满足要求1,而小拖车的要求是每个小拖车里只能放一块砖。
要求3:假设除AB外的大推车为C,小推车为D,则砖快只能A->B (表示砖块可以从A直接到B)A->C A->D C->B C->D D->B D->C
现在我们要做的就是帮dzm算出他最多能搬多少块砖从A到B 由于可能搬砖数量会很大,最后输出的是总的砖块数对z取余
Input Format
一行三个正整数x,y,z 分别表示提供的中转大拖车、小拖车的数量,以及最后答案取余的对象 30%的数据 x=0 100%的数据 x<=1,000,000,000 100%的数据 y<=10000 30%的数据 z<=2 100%的数据 z<=10000
Output Format
一行一个整数,表示dzm最多搬砖数量对z取余的结果
Sample Input
0 1 2
Sample Output
0
Sample Explain
先将砖块1放到小拖车里,再将砖块2放到B,再将砖块1放到B 共2块砖 而2对2取余为0
Oops! 本题目还没有解答!
助教老师们编题的速度,已经超过了解题的速度!
OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。
如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!