优美三角剖分_递归
問題 D: 優美三角剖分
時間限制: 1 Sec??內存限制: 64 MB提交: 13??解決: 4
[提交][狀態][討論版]
題目描述
小X同學為了搞好和小C同學的關系,特意尋找了一些優美的圖像作為禮物。這是一些由無窮無盡三角形組成的極為優美的圖形,小X同學很想實現這些極富美感的圖形,但是作為一名初賽都未過的偽退役選手,他水平有限,于是這個艱巨的任務就落在你們身上了。
由于好心的出題人,數據范圍n<=10。
?? (具體圖形詳見樣例,每一階圖形都是由3個上一階圖形拼成的)
輸入
只有一行,輸入一個整數為N,表示要求出N階的圖形。輸出
輸出相應的圖形。樣例輸入
3樣例輸出
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\ /__\/__\/__\/__\已更正,給數組a賦初值改成空了,不知道為什么改成空可以,賦別的值不行呢。
還有每一行后面的空格需要保留。 #include <iostream> #include <cstdio> #include <cmath> #include <cstring>using namespace std;int n; char a[1025][2049];void fun(int b){if(b==n){for(int j=1;j<=pow(2,n);j++){for(int i=1024-pow(2,n)+1;i<=1024+pow(2,n);i++){printf("%c",a[j][i]);}printf("\n");}}else{for(int j=1;j<=pow(2,b);j++){for(int i=1024-pow(2,b)+1;i<=1024+pow(2,b);i++){int p=pow(2,b);a[j+p][i-p]=a[j][i];a[j+p][i+p]=a[j][i];}}fun(b+1);} }int main() {while(~scanf("%d",&n)){memset(a,' ',sizeof(a));a[1][1024]='/';a[1][1025]='\\';a[2][1023]='/';a[2][1024]='_';a[2][1025]='_';a[2][1026]='\\';fun(1);}return 0; }
?
?轉載于:https://www.cnblogs.com/TWS-YIFEI/p/5928399.html
總結
- 上一篇: 【dp】导弹拦截
- 下一篇: 初等数论及其应用——中国剩余定理