http://poj.org/problem?id=2051

这个题目的大题意思就是给你一些ID,和ID所对应的周期,每隔它所对应的周期,它的任务就会执行,就会输出所对应的ID

Register 2004 200
Register 2005 300

时间为100时,不输出

时间为200时,输出2004

时间为300时,输出2005

时间为400时,输出2004

时间为500时,不输出

时间为600时,两个周期都满足,则按照ID又小到大的顺序进行输出

 #include <stdio.h>
#include <stdlib.h> struct IN{                    //定义一个结构体存放ID和时间
int id;
int time;
}s[]; int cmp(const void *a,const void *b) //对结构体按照ID进行排序
{
return (*(IN *)a).id-(*(IN *)b).id;
} int main()
{
char str[];
scanf("%s",str);
int i=,boss,time,j,k;
while(str[]!='#')      
{
scanf("%d%d",&s[i].id,&s[i].time);
i++;
scanf("%s",str);
}
scanf("%d",&boss);      //boss就是那个最后一个数字,意思是输出几组数据结束;
qsort(s,i,sizeof(s[]),cmp);      //对结构进行排序,当碰到周期相同时,按顺序输出即可
for(j=,k=,time=;j<boss;time++)      //j就是输出的次数
{
for(;k<i;k++)
{
if(time%s[k].time==)
{
printf("%d\n",s[k].id);    //没输出一次j+1
j++;
}
}
k=;  
}
return ;
}

POJ 2051的更多相关文章

  1. 算法手记 之 数据结构(堆)(POJ 2051)

    一篇读书笔记 书籍简评:<ACM/ICPC 算法训练教程>这本书是余立功主编的,代码来自南京理工大学ACM集训队代码库,所以小编看过之后发现确实很实用,适合集训的时候刷题啊~~,当时是听了 ...

  2. poj 2051.Argus 解题报告

    题目链接:http://poj.org/problem?id=2051 题目意思:题目有点难理解,所以结合这幅图来说吧---- 有一个叫Argus的系统,该系统支持一个 Register 命令,输入就 ...

  3. poj 2051 Argus(优先队列)

    题目链接: http://poj.org/problem?id=2051 思路分析: 优先级问题,使用优先队列求解:当执行某个任务后,再增加一个任务到队列中, 该任务的优先级为执行任务的时间加上其时间 ...

  4. 最小堆的维护,POJ(2051)

    题目链接:http://poj.org/problem?id=2051 ///维持最小堆(优先队列)POJ2051 #include <iostream> #include <str ...

  5. POJ 2051 argus(简单题,堆排序or优先队列)

    又是一道数据结构题,使用堆来进行权值调整和排序,每次调整都是o(n)的复杂度,非常高效. 第一眼看题觉得可以用优先队列来做,应该也很简单. 事实上多数优先队列都是通过堆来实现的. 写的时候还是出了一些 ...

  6. 优先队列(priority_queue)的cmp,POJ(2051)

    sort()函数的cmp为函数,priority_queue的cmp为类,具体写法是: struct Node { int i,j; } node[]; struct cmp { bool opera ...

  7. POJ 2051 Argus

    Argus Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8782   Accepted: 3985 Description ...

  8. ACM/ICPC 之 优先级队列+设置IO缓存区(TSH OJ-Schedule(任务调度))

    一个裸的优先级队列(最大堆)题,但也有其他普通队列的做法.这道题我做了两天,结果发现是输入输出太过频繁,一直只能A掉55%的数据,其他都是TLE,如果将输入输出的数据放入缓存区,然后满区输出,可以将I ...

  9. POJ 题目分类(转载)

    Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...

随机推荐

  1. apache struts 2 任意代码执行漏洞

    漏洞检测地址:http://0day.websaas.cn 漏洞利用工具,如下: 漏洞利用,如下: step1 step2 step3 提权思路,如下: 1.开启虚拟终端,执行命令,但是,提示“连接被 ...

  2. PHP中的NULL类型

    特殊的NULL值表示一个变量没有值,NULL类型唯一的值就是NULL.我们需要注意的是NULL不表示空格,也不表示零,也不是空字符串,而是一个变量的值为空.NULL不区分大小写,在下列情况下一个变量被 ...

  3. Orchard源码分析(7.1):Routing(路由)相关

    概述 关于ASP.NET MVC中路由有两个基本核心作用,一是通过Http请求中的Url参数等信息获取路由数据(RouteData),路由数据包含了area.controller.action的名称等 ...

  4. mysql 分页性能优化

    最简单的分页方法是这样的 , 该表中存在5w左右数据 执行时间平均在10s左右,因此该种方式在数据量大的情况下查询效率极低. 优化方式有以下几种 1.此种方式平均在7-8s之间(CreateDate ...

  5. 清北暑假模拟day1 爱

    /* 水题 */ #include<iostream> #include<cstdio> #include<string> #include<cstring& ...

  6. PHP基础 数组函数 的总结

    <?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...

  7. maven 项目配置

    创建java web的maven项目方法有两种,一是先创建maven项目,再选择jdk 和 dynamic web 运行环境 ,二是创建java项目,然后转化为maven项目 1.将普通java项目转 ...

  8. UVA1376.Animal Run (最小割转为最短路 && dijkstra)

    Animal Run Time Limit:6000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status ...

  9. Pro Mac 如何将英文文件夹汉化为中文

    1.新建一个英文名的文件夹. 2.打开文本编辑,文本编辑 -> 预置 -> 新建文稿 -> 格式,选上纯文本,关闭预置. 3.新建了一个txt文件,在里面输入要汉化的英文名(刚才新建 ...

  10. 给Storyboard设置初始页面(Initial Controller)

    原文:https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/Chapters/SetInitialContr ...