poj 3369 Grocery store 枚举

来源:互联网 发布:免费数据统计分析软件 编辑:程序博客网 时间:2024/05/17 02:56

题意:

求a,b,c,d满足a+b+c+d==a*b*c*d<=20 a,b,c,d要求的精度是小数点后2位。

分析:

本地打表后可以适当减小枚举范围,否则超时。

代码:

//poj 3369//sep9#include <iostream>using namespace std;typedef int INT;int main(){INT x,y,d;for(INT a=1;a<=125;++a)for(INT b=a;b<=666&&a+b<2000;++b)for(INT c=b;c<=1000&&(x=a+b+c)<2000;++c){if((y=a*b*c)<=1000000) continue;if(1000000*x%(y-1000000)) continue;d=1000000*x/(y-1000000);if(x+d>2000||d<c)continue;printf("%d.%02d %d.%02d %d.%02d %d.%02d\n",a/100,a%100,b/100,b%100,c/100,c%100,d/100,d%100);//system("pause");}} 


0 0
原创粉丝点击