poj2083 Fractal

我一开始的想法是间断性的输出空格和solve(k-1)

但是发现问题很大。

雨菲:可以用一个数组保存啊

我:那不爆了?

雨菲:不会爆。

我一算:729 × 729,还真没爆。

然后就直接WA了......

仔细观察,发现要输出X,而我输出x

然后就A了。

大水题。

 #include <cstdio>
/**
made with Unity
poj 2083
*/
using namespace std;
const int N = ;
char G[N][N];
inline int pow(int a, int b) {
int ans = ;
for(int i = ; i <= b; i++) {
ans *= a;
}
return ans;
} void solve(int k, int x, int y) {
if(k == ) {
G[x][y] = 'X';
return;
}
int len = pow(, k - );
solve(k - , x, y);
solve(k - , x + * len, y);
solve(k - , x + * len, y + * len);
solve(k - , x, y + * len);
solve(k - , x + len, y + len);
return;
} int main() {
int n;
while(scanf("%d", &n)) {
if(n == -) {
break;
}
for(int i = ; i < N; i++) {
for(int j = ; j < N; j++) {
G[i][j] = ' ';
}
}
solve(n, , );
int len = pow(, n - );
for(int i = ; i < len; i++) {
for(int j = ; j < len; j++) {
putchar(G[i][j]);
}
printf("\n");
}
printf("-\n");
} return ;
}

AC代码

上一篇:关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)


下一篇:跨站请求伪造 | ajax