您的位置:首页 > 其它

HDOJ 1407 测试你是否和LTC水平一样高 [暴力优化]

2009-11-16 16:04 351 查看
直接暴力3个for循环,但需要一定的优化。

1、s=sum; [TLE 1000MS]

2、s=sqrt(sum); [AC 953MS]

3、还可以继续优化:

for(int y=x;y<s&&flag;++y)
for(int z=y;z<s&&flag;++z)

[AC 515MS]

代码如下:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int flag,sum;
double s;
while(cin>>sum) {
flag=1;s=sqrt(double(sum));
for(int x=1;x<s&&flag;++x)
for(int y=x;y<s&&flag;++y)
for(int z=y;z<s&&flag;++z)
if(x*x+y*y+z*z==sum)
{
cout<<x<<" "<<y<<" "<<z<<endl;
flag=0;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: