benTuTuT缺钱花了,就开始找他的兄弟借钱。根据与benTuTuT关系的亲密程度,将n-1个兄弟划分为1-n-1(无重复),第n个人为benTuTuT,这个关系表里的每一个人x,都和x-1与x-2关系最好,于是benTuTuT开始向n-1和n-2号兄弟借钱(他先向n-1号兄弟借钱,兄弟n-1回复没钱后,他再向n-2号兄弟借钱)。虽然benTuTuT的兄弟和他平时玩得挺好的,但一说到钱,兄弟们便表面了起来,但是他们也不好直接拒绝,于是假装自己没钱,开始向和他最亲密的两个兄弟开始借钱。于是当n-1号兄弟被找借钱后他会找n-2号兄弟借钱,n-2号兄弟回复没钱后,他再找n-3号兄弟借钱,如果还是没钱,他就会回复找他借钱的人"I don’t have money"。当n-2号兄弟被找借钱后他会找n-3号兄弟借钱,n-3号兄弟回复没钱后,他再找n-4号兄弟借钱,如果还是没钱,他就会回复找他借钱的人"I don’t have money"。…当2号兄弟被找借钱后他会找1号兄弟借钱,如果还是没钱,他就会回复找他借钱的人"I don’t have money"。当1号兄弟被找借钱后,由于与benTuTuT的关系较为疏远,所以他会直接回复"I don’t have money"。 PS:如果你还看不懂,请参照样例和最后的样例解释输入描述:第一行输入一个整数t,代表有t组测试数据,对于每组测试数据,输入一个n代表benTuTuT一共有n-1个兄弟1<=t<=10 2<=n<=10输出描述:对于每组测试数据输出对应的说话顺序,如样例所示并且每两组测试数据之间应该存在一行空行 示例1 输入234 输出Brother 1:I don’t have moneyBrother 2:I don’t have moneyBrother 1:I don’t have money Brother 1:I don’t have moneyBrother 2:I don’t have moneyBrother 1:I don’t have moneyBrother 3:I don’t have moneyBrother 1:I don’t have moneyBrother 吧2:I don’t have money
#include<stdio.h>
void fac(int n)
{
printf("Brother %d:I don`t have money\n",n);
}
void fun(int n)
{
if(n==1)
{
fac(n);
}
else
{
fun(n-1);
fac(n);
fun(n-1);
}
}
int main()
{
int n,i,j,t,a,b,c,l,x[50];
scanf("%d",&t);
for(l=0;l<t;l++)
{
scanf("%d",&n);
x[l]=n;
}
for(l=0;l<t;l++)
{
fun(x[l]-1);
if(l!=t-1)
{
printf("\n");
}
}
return 0;
}