watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fpc2luaV92Yw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=3
1.3.1 FatMouse' Trade
#include <algorithm>
/*
题意:价值/代价的比值来排序,买比值大的。
Sample Input
5 3
7 2
4 3
5 2
20 3 25 18 24 15 15 10 -1 -1 Sample Output
13.333 31.500
*/
#include<stdio.h>
#include<stdlib.h> const int MAXN = 1010;
struct node
{
double j,f;
double r;
}a[MAXN];
int cmp(const void *a,const void *b)
{
struct node *c=(node *)a;
struct node *d=(node *)b;
if(c->r > d->r) return -1;
else return 1;
}
int main()
{
int N;
double M;
double ans;
while(scanf("%lf%d",&M,&N))
{
if(M==-1&&N==-1) break;
for(int i=0;i<N;i++)
{
scanf("%lf%lf",&a[i].j,&a[i].f);
a[i].r=(double)a[i].j/a[i].f;
}
qsort(a,N,sizeof(a[0]),cmp);
ans=0;
for(int i=0;i<N;i++)
{
if(M>=a[i].f)
{
ans+=a[i].j;
M-=a[i].f;
}
else
{
ans+=(a[i].j/a[i].f)*M;
break;
}
}
printf("%.3lf\n",ans);
}
return 0;
}
1.3.2	今年暑假不AC
*
Sample Input
12
1 3
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 9
0 Sample Output
5
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h> struct ti
{
int s, e;
}; int compare(const void *a, const void *b); int main()
{
int i, n, k;
struct ti tis[101], temp[101]; while(scanf("%d", &n) != EOF)
{
if(n == 0)
break; for(i = 0; i < n; i ++)
{
scanf("%d %d", &tis[i].s, &tis[i].e);
} qsort(tis, n, sizeof(tis[0]), compare); k = 0;
temp[k] = tis[0]; for(i = 1; i < n; i ++)
{
if(tis[i].s >= temp[k].e)
temp[++ k] = tis[i];
}
printf("%d\n", k + 1);
}
return 0;
} int compare(const void *a, const void *b)
{
const struct ti *p = (ti*)a;
const struct ti *q = (ti*)b; return p->e - q->e;
}
1.3.3	排名

#include <string>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define N 1000
int que[10];
struct node
{
char name[20];
int num;
int score;
}stu[N]; bool cmp(const node& a, const node& b)
{
if (a.score == b.score)
{
return strcmp(a.name, b.name) < 0 ? 1:0;
}
else
{
return a.score > b.score;
}
} /* 联系字典序:第1行给出考生人数N ( 0 < N < 1000 )、考题数M ( 0 < M < = 10 )、分数线(正整数)G;
第2行排序给出第1题至第M题的正整数分值。
下面N行,每行给出一名考生准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号
4 5 25
10 10 12 13 15
CS004 3 5 1 3
CS003 5 2 4 1 3 5
CS002 2 1 2
CS001 3 2 3 5
*/
int main()
{
int student, question, judge, x, count;
while(scanf("%d", &student),student)
{
count = 0;
for (int i = 1; i <= student;++i)
{
stu[i].score = 0;
stu[i].num = 0;
}
scanf("%d%d",&question, &judge);
for (int i = 1;i <= question;++i)
{
scanf("%d",&que[i]);
}
for (int i = 1;i <= student;++i)
{
scanf("%s%d",&stu[i].name,&stu[i].num);
while(stu[i].num--)
{
scanf("%d",&x);
stu[i].score += que[x];
}
if (stu[i].score >= judge)
count ++;
}
sort(stu+1,stu+1+student,cmp);
printf("%d\n",count);
for (int i = 1;i <= student;++i)
{
if (stu[i].score >= judge)
printf("%s %d\n",stu[i].name, stu[i].score);
else
break;
}
}
return 0;
}

1.3.4 开门人和关门人
#include "stdafx.h" #include <iostream>
#include <string>
using namespace std ; struct node
{
string name, timee;
}maxt, mint;//记录最大和最小的结构体 int main()
{
int t, n;
string s,mis, mas;
cin>>t; while (t--)
{
cin>>n;
n--;
cin>>s>>mint.timee>>maxt.timee;
mint.name = maxt.name = s; while (n--)
{
cin>>s>>mis>>mas;
if (mis < mint.timee)
{
mint.name = s;
mint.timee = mis;
}
if (mas > maxt.timee)
{
maxt.name = s;
maxt.timee = mas;
}
} cout<<mint.name<<" "<<maxt.name<<endl;
} return 0;
}



杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》的更多相关文章

  1. I题 hdu 1234 开门人和关门人

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1234 开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)   ...

  2. 杭电OJ(HDU)-ACMSteps-Chapter Two-《An Easy Task》《Buildings》《decimal system》《Vowel Counting》

    http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=2 1.2.5 #include<stdio.h> ...

  3. HDU 1234 开门人和关门人

    #include <string> #include <algorithm> #include <iostream> using namespace std; st ...

  4. 九度OJ 1013 开门人和关门人

    #include <iostream> #include <string.h> #include <sstream> #include <math.h> ...

  5. HDU 1234:开门人和关门人

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  6. 『ACM C++』HDU杭电OJ | 1415 - Jugs (灌水定理引申)

    今天总算开学了,当了班长就是麻烦,明明自己没买书却要带着一波人去领书,那能怎么办呢,只能说我善人心肠哈哈哈,不过我脑子里突然浮起一个念头,大二还要不要继续当这个班委呢,既然已经体验过就可以适当放下了吧 ...

  7. C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~

    暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...

  8. 用python爬取杭电oj的数据

    暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...

  9. 爬取杭电oj所有题目

    杭电oj并没有反爬 所以直接爬就好了 直接贴源码(参数可改,循环次数可改,存储路径可改) import requests from bs4 import BeautifulSoup import ti ...

随机推荐

  1. Stub, Mock and Proxy Testing

    Table of Contents Stubs, Mocks, and Proxies Stub, Mock, and Proxy Testing with Testimonial Mock test ...

  2. Android 使用SQLite本地数据库

    参考:http://blog.csdn.net/jianghuiquan/article/details/8569252 在Android平台上,集成了一个嵌入式关系型数据库—SQLite.以SQLi ...

  3. 设计模式之外观模式(PHP实现)

    github地址:https://github.com/ZQCard/design_pattern/** * 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访 ...

  4. DEDECMS首页和列表页调用单个图片集里的多张图片

    /**DEDECMS首页和列表页调用单个图片集里的多张图片 function Getimg($aid,$imgwith=110,$imgheight=110,$num=0) { global $dsq ...

  5. iOS:UICollectionView纯自定义的布局:堆叠式布局、圆式布局 (一般用来制作相册)

    集合视图的自动布局:UICollectionViewLayout是抽象根类,必须用它的子类才能创建实例,下面是重写的方法,计算item的布局属性 //每一次重新布局前,都会准备布局(苹果官方推荐使用该 ...

  6. python 读取CSV文件 中文乱码

    今天读取一个CSV文件,打印出来,中文显示乱码,原因是编码的缘故,CSV保存是编码格式ANSI,解决办法是以记事本方式打开CSV文件,然后另存为时编码选择UTF-8进行保存即可.

  7. ASP.NET MVC学习---(四)MVC初窥

    前面三篇大幅度的介绍了EF框架 这并不是没有道理的 现在使用mvc开发一般都离不开ef 因为它们相结合可以为你带来完美的体验 当然 前面所描述的仅仅是ef框架的冰山一角 它是一门学问很深的功课 如果你 ...

  8. zabbix通过snmp监控linux主机

    1.安装net-snmp [root@db01 ~]# yum install -y net-snmp 2.修改配置文件 [root@db01 ~]# vim /etc/snmp/snmpd.conf ...

  9. 2017.7.21 Linux中ELK服务后台运行方式

    通过 2017.7.18 linux下ELK环境搭建 搭建好服务于之后,一旦按下Ctrl+C或者退出登录会话,服务的进程就随之停止了.要长期在后台运行此程序,有几种方式: 1 nohup 输入Ctrl ...

  10. C#数据之List

    一.C# List根据值找到索引值方法 List<int> test = new List<int>(); int index = test .FindIndex(item=& ...