首页 > 代码库 > 贪心/poj 1018 Communication System

贪心/poj 1018 Communication System

 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int INF=0xfffffff; 6 struct node 7 { 8     int b,p; 9 };10 node a[110][110];11 int m[110];12 int pmin,psum,bmax,n;13 double ans;14 int main()15 {16     int T;17     scanf("%d",&T);18     for (int t=1;t<=T;t++)19     {20         memset(a,0,sizeof(a));21         memset(m,0,sizeof(m));22         ans=0.0;23         scanf("%d",&n);24         for (int i=1;i<=n;i++)25         {26             scanf("%d",&m[i]);27             for (int j=1;j<=m[i];j++)28             {29                 scanf("%d%d",&a[i][j].b,&a[i][j].p);30             }31         }32         for (int i=1;i<=n;i++)33             for (int j=1;j<=m[i];j++)34         {35             bmax=a[i][j].b;36             bool flag=0;37             psum=a[i][j].p;38             for (int k=1;k<=n;k++)39             {40                 if (k==i) continue;41                 pmin=INF;42                 for (int q=1;q<=m[k];q++)43                     if (a[k][q].b>=bmax && a[k][q].p<pmin)44                     {45                         pmin=a[k][q].p;46                       //  flag=1;47                     }48                // if (!flag) break;49                 psum+=pmin;50             }51           //  if (!flag) break;52             if (ans<(double)bmax/psum) ans=(double)bmax/psum;53         }54         printf("%.3f\n",ans);55     }56     return 0;57 }

 

贪心/poj 1018 Communication System