zoj 1239 Hanoi Tower Troubles Again!
2013-04-27 16:57
369 查看
#include <iostream> #include <cmath> #include <cstring> using namespace std; int a[51], sum, T; int p(int w){ //i是当前要放的求的编号 for(int i = 1; i <= T; i++){ //逐一判断能不能放 int tem_sum = a[i] + w; int gen = (int)sqrt(tem_sum) * (int)sqrt(tem_sum); if(tem_sum == gen || a[i] == 0){ a[i] = w; sum++; p(w + 1); return 1; } } return 0; } int main(){ int iCase; cin>>iCase; while(iCase--){ cin>>T; sum = 0; memset(a, 0, sizeof(a)); //a数组存储最上面的球的大小 if(p(1)) cout<<sum<<endl; else cout<<"-1"<<endl; } return 0; }
更快的就是1. 公式 f(n) = n*n/2+n-0.5向下取整
2. 规律 f(n) = f(n - 1) + (n + 1) / 2 + (n + 1) / 2 (n > 2), 由于这个程序较为简单,这里不提供
相关文章推荐
- zoj 1239 Hanoi Tower Troubles Again!
- zoj 1239 Hanoi Tower Troubles Again!
- Hanoi Tower Troubles Again! ZOJ - 1239
- zoj1239 Hanoi Tower Troubles Again!
- zoj 1239 Hanoi Tower Troubles Again!
- zoj 1239 Hanoi Tower Troubles Again!
- zoj 1239 Hanoi Tower Troubles Again! 题解Orz
- ZOJ1239 Hanoi Tower Troubles Again!
- ZOJ 1239 Hanoi Tower Troubles Again!
- UVa10276 HDU1329 ZOJ1239 Hanoi Tower Troubles Again!【递推函数+打表】
- UVA 10276 - Hanoi Tower Troubles Again!
- HDU1329 Hanoi Tower Troubles Again!——S.B.S.
- (挑战编程_9_8)Hanoi Tower Troubles Again!
- HDU 1329 Hanoi Tower Troubles Again!
- 【HDOJ】1329 Hanoi Tower Troubles Again!
- programming-challenges Hanoi Tower Troubles Again! (110908) 题解
- HDU 1329 Hanoi Tower Troubles Again!(乱搞)
- hdu 1329 Hanoi Tower Troubles Again!
- Hanoi Tower Troubles Again! (找规律)
- joj 1031 Hanoi Tower Troubles Again!解题报告