Hdoj—1789
//大意理解 先排序 最早交的里面选最大值 扫描完了加没写的 排序后 应该是早交的和扣分多的在前 用结构体吧
/*#include<stdio.h>
#include<stdio.h>
int cmp(void const* a,void const*b)
{
if(*(st*)a->t==*(st*)b->t)
return *(st*)b->kou-*(st*)b->kou;
else
return *(st*)a->t-*(st*)b->t;
}
typedef struct
{
int vis;
int t;
int kou;
}st s[10000];
int main()
{
return 0;
}*/ //理解完全错误啊这样选择完全得不到解
题意就是最大的最迟做 做不了就被扣分。。 AC代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct st
{
int time;;
int score; }a[];
int cam(const void *x,const void *y)
{
struct st p = *((struct st *)x);
struct st q = *((struct st *)y); return q.score-p.score; }
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n, vis[]; scanf("%d",&n);
int i;
for(i=;i<=n;i++)
{
scanf("%d",&a[i].time);
}
for(i=;i<=n;i++)
{
scanf("%d",&a[i].score);
}
for(i=;i<=n;i++)
//printf("%d %d\n",a[i].time,a[i].score);
qsort(&a[],n,sizeof(a[]),cam);
int count = ;
int day=;
int j;
memset(vis,,sizeof(vis));
for(i=;i<=n;i++)
{ for(j=a[i].time;j>=;j--)
{ if(!vis[j])
{ vis[j]=;
break;
}
}
if(j<=)
count+=a[i].score;
}
printf("%d\n",count); }
return ;
}
感觉和网上搜的如出一辙。。。
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
//int vis;
int t;
int kou; }st;
st s[];
int vis[];
int cmp(void const* a,void const*b)
{
return ((st*)b)->kou-((st*)a)->kou;
} int main()
{
int max_t,i,ci,c;
scanf("%d",&ci);
while(ci--){
int sum=,j;
scanf("%d",&c);
max_t=-;
for(i=;i<c;i++)
{
scanf("%d",&s[i].t);
max_t=max_t>s[i].t?max_t:s[i].t;
}
for(i=;i<=max_t;i++)vis[i]=;
for(i=;i<c;i++)
{
scanf("%d",&s[i].kou);
}
qsort(s,c,sizeof(s[]),cmp);
for(i=;i<c;i++)
{
for(j=s[i].t;j>;j--)
{
if(!vis[j])
{
vis[j]=!vis[j];
break;
}
}
if(j==)
{
sum+=s[i].kou;
}
}
printf("%d\n",sum);
}
return ;
Hdoj—1789的更多相关文章
- HDOJ.1789 Doing Homework again (贪心)
Doing Homework again 点我挑战题目 题意分析 给出n组数据,每组数据中有每份作业的deadline和score,如果不能按期完成,则要扣相应score,求每组数据最少扣除的scor ...
- hdoj 1789 Doing Homework again
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Hdoj 1789 Doing Homework again 题解
Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of h ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1004 Let the Balloon Rise
Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...
- hdoj 1385Minimum Transport Cost
卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...
- HDOJ(2056)&HDOJ(1086)
Rectangles HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...
随机推荐
- Flutter实战视频-移动电商-10.首页_FlutterSwiper轮播效果制作
10.首页_FlutterSwiper轮播效果制作 博客地址: https://jspang.com/post/FlutterShop.html#toc-5c2 flutter_swiper http ...
- PTA 4-4 先序输出叶结点 【基础题】
//二叉树的叶结点:度为0的结点. void PreorderPrintLeaves( BinTree BT ) { if(BT==NULL) //如果传下来根节点就是空,直接返回: return; ...
- string.Format 处理 double 的问题
出处: http://www.cnblogs.com/albert-struggle/archive/2012/05/22/2512744.html 1.格式化货币(跟系统的环境有关,中文系统默认格式 ...
- MySql 5.6 遇到的一些问题
1. 卸载5.5之后,使用 mysql installer 时,没法设定 data directory . 最后再次删除mysql installer之后,使系统干净后才能重新安装, 然后界面出现了 ...
- 进击python第三篇:基础
基础拾遗 序列解包 例: >>>x,y,z=1,2,3 >>>print x,y,z 1 2 3 交换变量也是没问题 >>>x,y=y,x > ...
- IT兄弟连 JavaWeb教程 JSTL标签的使用
假定甲方打算使用乙方开发的标签库,乙方把与标签库相关的所有文件打包成为了一个JAR文件(假定名为standard.jar),在这个JAR文件中包含以下内容: ● 标签处理类及相关的.class文件 ...
- 最简大数据Spark-2.1.0
0.0 前言 本文主要基于最新的Spark 2.1.0版本.阅读本文可以对Spark 2.1.0的学习过程,运行流程,关键组件,原理有所了解.文章有点长,你也可以直接阅读感兴趣的部分,但是还是建议全面 ...
- C 语言实例 - 字符串翻转
C 语言实例 - 字符串翻转 C 语言实例 C 语言实例 使用递归来翻转字符串. 实例 - 字符串翻转 #include <stdio.h> void reverseSentence(); ...
- RN初始化项目报错
解决方法:全局删除yarn
- 17.TLB
我们只想读4个字节,但我们要经过如下的步骤 读取 字节的PDE 读取 字节的 PTE 读取 字节(int 占用4字节)的物理内存 在 10-10-12 分页模式下,CPU 每次要访问额外的访问 8 字 ...