编程之美2013 初赛一 A - 竞价 学习大牛的思路

来源:互联网 发布:算法导论 第三版 pdf 编辑:程序博客网 时间:2024/06/02 07:27


      

      这题我做了N久也做不出....赛后看了大牛AC的思路....


Program:

#include<iostream>#include<cmath>#include<stack>#include<queue>#include<set>#include<algorithm>#include<stdio.h>#include<string.h>#define ll long long#define oo 1000000007using namespace std;  int judge(int n,int ca,int cb){       int t,va,vb,c;       t=(n+1)/2;     // 钻石平均分,取上整       vb=cb/t;      // 平均分时,Bob每颗钻石所需的单位价值       c=ca/vb;       // Alice用这个单位价值能拿多少钻石       if (2*c>n) return 1;       t=(n+1)/2;       va=ca/t;       c=cb/(va+1);   // 因为Alice先拿..所以Bob每次总要比Alice多1       if (2*c>n) return -1;       return 0;}int main(){               int T,t,n,c1,c2,ans;          scanf("%d",&T);       for (t=1;t<=T;t++)       {             scanf("%d%d%d",&n,&c1,&c2);                printf("Case #%d: %d\n",t,judge(n,c1,c2));       }       return 0;}


原创粉丝点击