PKU 3369 Grocery store 题解

题目描述看了半天才看懂
就是找到四个**.**这样的数字但是最小是00.01
然后让这个四个数字的和等于四个数字的乘积
当时感觉暴力绝对超时就没写
后来别的题目写完了就没得写了
开始用暴力写这个当时别人已经用暴力把这个过了
然后开始写,先开始用实数来写的估计是因为精度问题一直不对
后来越写越郁闷
直接把程序全删除了。然后理清思路直接用整数来完成了一个就过了。
这个题可以先多枚举一些然后吧答案全都打出来
然后就可以知道第一个数第二个数。。。每个位置的数所能达到的最大值
然后以后搜索的时候只枚举到这个位置就好了
然后就过了
 1#include<stdio.h>
 2#include<math.h>
 3int main()
 4{
 5    //freopen("asdas.txt","w",stdout);
 6    int i,j,k,t;
 7    for(i=1;i<160;i++)
 8        for(j=i;j<1000;j++)
 9            for(k=(2000-i-j)/2-1;k>=j;k--)
10            {
11                if(i*j*k<=1000000)break;
12                if(  ((i+j+k)*1000000)%(i*j*k-1000000)==0  )
13                {
14                    t=((i+j+k)*1000000)/(i*j*k-1000000);
15                    if(t+i+j+k>2000)continue;
16                    if(t<k)continue;
17                    //printf("%d %d %d %d\n",i,j,k,t);
18                    printf("%.2lf %.2lf %.2lf %.2lf\n",i/100.0,j/100.0,k/100.0,t/100.0);
19                }

20            }

21    return 0;
22}

23
24
25

posted on 2008-07-20 22:01 gong 阅读(800) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(6)

随笔档案

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜