递归的都好难啊!QAQ
Posted 村雨sup
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归的都好难啊!QAQ相关的知识,希望对你有一定的参考价值。
关于十二月份月赛的通知 本学期最后两次月赛将于12月17日,1月7日举行 1. 本次月赛时间为12月17月9:00-12:00 2. 地点:另行通知 3. 本次比赛可以携带纸质书籍查阅资料 4. 10%一等奖,20%二等奖,30%三等奖 5. 获得一等奖的同学直接进入ACM集训队 欢迎大家报名参加比赛!! 报名链接:https://wj.qq.com/s/1745264/6f12
提交: 17 解决: 6
[提交][状态][讨论版]
[提交][状态]
3306: 美男有毒
时间限制: 1 Sec 内存限制: 256 MB提交: 17 解决: 6
[提交][状态][讨论版]
题目描述
众所周知,gyt喜欢玩“美男有毒”这款游戏,在这款游戏里,gyt一夜之间无辜“被穿越”,没有倾城之貌也就算了,竟然还自带称号“帝都第一丑女”!王妃梦碎,老爹嫌弃,继母暗害,到底能信任何人,日子真要过得如此凄惨吗?
就在这困难之际,天神伸出援手,告诉gyt,只要gyt答对了一个问题就可以穿越回现代,然而gyt太菜了,不知道这个问题的答案是什么,快来帮他回答吧。
谢尔宾斯基三角形是这样一类图形,当你输入n可以得到以下图形:
n=0:
*
* *
n=1:
*
* *
* *
* * * *
n=2:
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
可以发现,n号谢尔宾斯基三角形是由三个n-1号谢尔宾斯基三角形拼接得来的,现在天神给你一个n,要求你输出相应的谢尔宾斯基三角形。
就在这困难之际,天神伸出援手,告诉gyt,只要gyt答对了一个问题就可以穿越回现代,然而gyt太菜了,不知道这个问题的答案是什么,快来帮他回答吧。
谢尔宾斯基三角形是这样一类图形,当你输入n可以得到以下图形:
n=0:
*
* *
n=1:
*
* *
* *
* * * *
n=2:
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
可以发现,n号谢尔宾斯基三角形是由三个n-1号谢尔宾斯基三角形拼接得来的,现在天神给你一个n,要求你输出相应的谢尔宾斯基三角形。
输入
第一行一个正整数t,表示样例个数。
接下来t行,每行一个非负数n(n<10)
接下来t行,每行一个非负数n(n<10)
输出
对于每一个n,输出相应的谢尔宾斯基三角形(注意每一行的最后一个*后面均无空格)
样例输入
3
0
1
2
样例输出
*
* *
*
* *
* *
* * * *
*
* *
* *
* * * *
* *
* * * *
* * * *
* * * * * * * *
提示
来源
#include<bits/stdc++.h> using namespace std; char p[2500][2500]; void Draw(int n,int x,int y){ if(n==0){ p[x][y+1]=‘*‘; p[x+1][y]=‘*‘; p[x+1][y+2]=‘*‘; return; } Draw(n-1,x,y+(1<<n));//不断调用这个y一直向后移就得到开头的了 Draw(n-1,x+(1<<n),y);//然后下移了一个三角形,先第一个,然后第三个啊啊啊啊!什么鬼 Draw(n-1,x+(1<<n),y+(1<<(n+1))); } int main(){ int t; cin>>t; while(t--){ int n; cin>>n; memset(p,‘ ‘,sizeof(p)); Draw(n,0,0); for(int i=0;i<(1<<(n+1));i++) for(int j=2500-1;p[i][j]==‘ ‘;p[i][j]=‘\0‘,j--); for(int i=0;i<(1<<(n+1));i++) printf("%s\n",p[i]); } return 0; }
以上是关于递归的都好难啊!QAQ的主要内容,如果未能解决你的问题,请参考以下文章