您的位置:首页 > 大数据 > 人工智能

【HDOJ】1329 Hanoi Tower Troubles Again!

2015-01-15 20:52 204 查看
水题,搞清楚hanoi的定义就好做了。

/* 1329 */
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>

#define MAXN 55

int b[MAXN];
int a[MAXN];

bool isSquare(int x) {
int y = (int) sqrt(x*1.0);

return y*y == x;
}

void init() {
int i, j, k;
int n = 1;
bool flag;

memset(b, 0, sizeof(b));
for (i=1; ; ++i) {
flag = true;
for (j=0; j<n; ++j) {
if (b[j]==0 || isSquare(b[j]+i)) {
flag = false;
b[j] = i;
break;
}
}
if (flag) {
a
= i-1;
b[n++] = i;
if (n > 50)
break;
}
}
}

int main() {
int t, n;

#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif

init();
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
printf("%d\n", a
);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: