//大意理解 先排序 最早交的里面选最大值 扫描完了加没写的 排序后 应该是早交的和扣分多的在前 用结构体吧
/*#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的更多相关文章

  1. HDOJ.1789 Doing Homework again (贪心)

    Doing Homework again 点我挑战题目 题意分析 给出n组数据,每组数据中有每份作业的deadline和score,如果不能按期完成,则要扣相应score,求每组数据最少扣除的scor ...

  2. hdoj 1789 Doing Homework again

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  3. 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 ...

  4. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  6. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. HDOJ 1004 Let the Balloon Rise

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  8. hdoj 1385Minimum Transport Cost

    卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...

  9. HDOJ(2056)&HDOJ(1086)

    Rectangles    HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...

随机推荐

  1. docker的安装与卸载

    卸载老版本docker sudo apt-get remove docker docker-engine docker.io /var/lib/docker/目录下存放着 images, contai ...

  2. mysql server安装(windows)

    1 在 https://dev.mysql.com/downloads/mysql/ 上下载mysql压缩包 2 解压,并把bin目录加入环境变量 3 初始化,完成后会在mysql根目录下生成data ...

  3. c++函数模板1

    1 定义: 函数模板 只适用于参数个数相同但是类型不同 而且函数体相同的情况 2 这个例子没有使用模板的情况 #include <iostream> using namespace std ...

  4. 微信小程序开发之实现https

       1:使用自签名的免费ssl证书实现:http://jingyan.baidu.com/article/a948d6515d3e850a2dcd2ee6.html           2:迅雷云购 ...

  5. 20个Flutter实例视频教程-第06节: 酷炫的路由动画-2

    博客地址: https://jspang.com/post/flutterDemo.html#toc-94f 视频地址: https://jspang.com/post/flutterDemo.htm ...

  6. Flutter实战视频-移动电商-14.首页_url_launcher一键拨打店长电话

    14.首页_url_launcher一键拨打店长电话 首页拨打电话的功能. 接收连个值,一个是店长的头像,一个是电话号码, 然后开始写我们的build方法.点击图片的时候要有一个拨打电话的动作.我们要 ...

  7. 用JavaScript方式创建easyUI datagrid Column Group(列组)

    代码如下: <script type="text/javascript"> var datagrid; $(function(){ $('#datagrid').dat ...

  8. LeetCode: 500 Keyboard Row (easy)

    题目: Given a List of words, return the words that can be typed using letters of alphabet on only one ...

  9. windows ping得通,连接不上网

    这是被电脑安装的软件拦截的现象,我们只需要使用.   netsh winsock reset   重启电脑即可

  10. 割点(Tarjan算法)

    本文可转载,转载请注明出处:www.cnblogs.com/collectionne/p/6847240.html .本文未完,如果不在博客园(cnblogs)发现此文章,请访问以上链接查看最新文章. ...