求助:WA:超出输出限制

P1498 南蛮图腾

更正: WA点4代码:应输出' '但检测到'/' ``` #include<iostream> #include<algorithm> using namespace std; int n; #define getit(A,i) ((A >> (i << 1)) & 3) int main() { cin >> n; unsigned long long A = 1; n = 1 << n; for(int k = 1;k <= n;k++) { for(int i = 1;i <= n - k;i++) cout << " "; for(int i = 0;i <= (k-1)/2;i++) if(getit(A,i) == 1) cout << "/\\ "; else if(getit(A,i) == 0) cout << " "; else if(getit(A,i) == 3) cout << "/__\\"; cout << endl; A = (A << 1) ^ A; } } ```
by 升阳 @ 2021-07-16 21:08:50


请大佬换个思路,看看这样行不行 ``` #include <bits/stdc++.h> using namespace std; char a[2000][4000]; void draw(int r, int c, int i) { if(i == 1) { a[r][c] = '/'; a[r][c + 1] = '_'; a[r][c + 2] = '_'; a[r][c + 3] = '\\'; a[r - 1][c + 1] = '/'; a[r - 1][c + 2] = '\\'; return; } draw(r, c, i - 1); draw(r, c + pow(2, i), i - 1); draw(r - pow(2, i - 1), c + pow(2, i) / 2, i - 1); return; } int main() { int n; cin >> n; int m = pow(2, n); memset(a, 0, sizeof(a)); draw(m, 1, n); for(int i = 1; i <= m; i ++) { for(int j = 1; j <= 2 * m; j ++) { if (a[i][j] == 0) { cout << " "; } else { cout << a[i][j]; } } cout << endl; } return 0; } ```
by chenyitian @ 2021-08-10 22:33:59


|