OJ, VJ Perfect Cubes——一道暴搜题。
For hundreds of years Fermat’s Last Theorem, which stated simply that for n > 2 there exist no integers a, b, c > 1 such that a^n = b^n + c^n, has remained elusively unproven. (A recent proof is believed to be correct, though it is still undergoing scrutiny.) It is possible, however, to find integers greater than 1 that satisfy the ``perfect cube’’ equation a^3 = b^3 + c^3 + d^3 (e.g. a quick calculation will show that the equation 12^3 = 6^3 + 8^3 + 10^3 is indeed true). This problem requires that you write a program to find all sets of numbers {a, b, c, d} which satisfy this equation for a <= 200.
Output
The output should be listed as shown below, one perfect cube per line, in non-decreasing order of a (i.e. the lines should be sorted by their a values). The values of b, c, and d should also be listed in non-decreasing order on the line itself. There do exist several values of a which can be produced from multiple distinct sets of b, c, and d triples. In these cases, the triples with the smaller b values should be listed first.
The first part of the output is shown here:
Cube = 6, Triple = (3,4,5)
Cube = 12, Triple = (6,8,10)
Cube = 18, Triple = (2,12,16)
Cube = 18, Triple = (9,12,15)
Cube = 19, Triple = (3,10,18)
Cube = 20, Triple = (7,14,17)
Cube = 24, Triple = (12,16,20)
Note: The programmer will need to be concerned with an efficient implementation. The official time limit for this problem is 2 minutes, and it is indeed possible to write a solution to this problem which executes in under 2 minutes on a 33 MHz 80386 machine. Due to the distributed nature of the contest in this region, judges have been instructed to make the official time limit at their site the greater of 2 minutes or twice the time taken by the judge’s solution on the machine being used to judge this problem.
Time limit 1000
msMemory
limit32768 k
BOSWindows
What Fuck! 暴搜!
我 TM 还观察了半天样例的规律,找了半天规律写出来的代码还超时了。这叫人情何以堪。以后能暴搜的先试暴搜好了。
看来暴搜也用不了多少时间。
不过,那Time Limit 1000ms是白写的?1s = 1000ms啊。
#include<stdio.h> #include<string.h> #include<math.h> int main() { int a, b, c, d; for(a = 6; a < 201; a++) for(b = 2; b < a; b++) for(c = b; c < a - 1; c++) for(d = c; d < a - 2; d++) if(a*a*a == b*b*b + c*c*c + d*d*d) printf("Cube = %d, Triple = (%d,%d,%d)\n", a, b, c, d ); return 0; }
- 一道超级坑爹的水题(ACdream oj 无耻的出题人)
- 南邮 OJ 1537 G ? Area of Polycubes
- 杭电OJ——1025 Constructing Roads In JGShining's Kingdom(比较有趣的一道题目,思路详解)
- 一道超级坑爹的水题(ACdream oj 无耻的出题人)
- 又一道有意思的OJ:GPS数据处理
- 翻转长方形 (不知名oj中一道个人私题)--单调栈维护最大子矩形
- hpuoj1695 一道签到题【KMP】
- NBUT OJ 1647 又一道简单题 直接动手就好
- A Famous Music Composer(南阳oj25)(一道无聊的英文题)
- 湘潭OJ 1264 挺好的一道贪心题
- 2014/08/16——VJ/OJ时好时坏,why?
- BUAAoj 上面一道排序再单调栈
- 2014/08/16——VJ/OJ时好时坏,why?
- VJ简单数学 I 题 Hard Equation SDUT OJ 数论基础
- 贪心题集(vj&&oj)
- HDU 1334 Perfect Cubes
- OJ:一道考察多态的题目
- VJ——A. Perfect Permutation CodeForces - 233A
- OJ:又一道考察多态的题目
- 论那些在vjduge等oj平台踩过的坑