Gym 100197G Robbers (卡精度)

原创 2016年08月29日 22:24:08

Robbers (题目链接)


这题有两个坑。。

1是卡精度

2是读入文件不是题面的名字


/*************************************************************************
     File Name: G.cpp
     ID: obsoles1
     PROG: 
     LANG: C++ 
     Mail: 384099319@qq.com 
     Created Time: 一  8/29 17:41:20 2016
 ************************************************************************/
#define ABS(x,y) ((x)>(y)?((x)-(y)):((y)-(x)))
#include<cstdio>
#include<queue>
const int N=1010;
const double eps=1e-6;
struct node{
  int x,id,k;
  double diff;
  bool operator < (const node &rhs) const {
    return diff-rhs.diff<eps || (ABS(diff,rhs.diff)<eps && id<rhs.id);
  }
}x;
int ans[N];

int main() {
  int n,m,y,i;
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);//坑!!!
  scanf("%d%d%d",&n,&m,&y);
  int per=m/y,left=m-per*y;
  double per1=(double)m/y;
  std::priority_queue<node> q;
  for (i=0; i<n; ++i) {
    scanf("%d",&x.x);
    x.id=i;
    x.k=per*x.x;
    x.diff=per1*x.x-x.k*1.0;
    q.push(x);
  }
  while (left) {
    x=q.top(),q.pop();
    x.diff-=1.0;
    x.k++;
    left--;
    q.push(x);
  }
  while (!q.empty()) {
    x=q.top(),q.pop();
    ans[x.id]=x.k;
  }
  for (i=0; i<n; ++i)
    printf("%d%c",ans[i]," \n"[i==n-1]);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ACM各题型OJ题目总结

本帖题目类型: 1)递归与分治 2)动态规划 3)贪心算法 4)回溯算法 5)图的搜索算法 6)图论 7)数论 8)组合数学 9)分支限界算法 推荐网站:https://v...

ACdream 1224 Robbers (贪心)

Robbers Special Judge Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java...

UVALive_6279_Caravan Robbers(二分+卡精度)

题型:二分 题意:

Non Absorbing DFA DP (ASC2A SGU201 ZOJ2337 ACdream1218 Gym100197A)

Non Absorbing DFA Andrew Stankevich Contest 2 A SGU 201 ZOJ 2337 ACdream 1218 Gym 100197A

cf gym101061H Robocon Club(简单计算几何 似乎卡精度)

数学题

Codeforces Gym 100379I Move the queen to the corner! 威佐夫博弈变形 + 高精度

题目大意: 就是现在有一个皇后在棋盘的左上角, 棋盘大小n*m, n , m 然后两个人轮流移动皇后, 每次可以向下, 右或者右下斜线方向移动, 移动步数至少一步, 至多不超出棋盘边界..然后谁将这个...

Gym 100338H High Speed Trains(高精度)

Gym 100338H High Speed Trains题意: 求n个城市相互连通的方案数。 思路:和HDU 4390迷之相似。 一共有n个城市,那么就有n(n−1)/2n(n-1)/2条边,...

Gym 100269G-Garage

Problem G. Garage Input file: garage.in Output file: garage.out Time limit: 2 seconds Memory lim...

Gym 100803G Flipping Parentheses

题目链接:http://codeforces.com/gym/100803/attachments/download/3816/20142015-acmicpc-asia-tokyo-regional...

Gym 100712G Heavy Coins(DFS)

题目大意是给你N个硬币,从这N个硬币中拿出若干个硬币使总和大于S,同时从你所选的这堆硬币拿走任何一个都会使总和小于S,也就是说取出若干个硬币且取出的这些硬币没有一个是多余的,求最多能拿出多少个硬币。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Gym 100197G Robbers (卡精度)
举报原因:
原因补充:

(最多只允许输入30个字)