题意:

给出n,m,代表微波炉有n个按钮,要求达到总时间为m

然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小

输出最小的步数与相差的最小值

要求,当总时间小于0时,时间为0,大于3600时,时间为3600

题意:

给出n,m,代表微波炉有n个按钮,要求达到总时间为m

然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小

输出最小的步数与相差的最小值

要求,当总时间小于0时,时间为0,大于3600时,时间为3600

Sample Input

2
3 50
-10 10 60
1 50
20

Sample Output

2 0
3 10

AC代码:

#include<stdio.h>
#include<queue>
#include<string.h>
#define INF 0x3f3f3f3f
using namespace std;
int step[];
int a[];
int main()
{
int t,n,m,v,nt,i;
scanf("%d",&t);
while(t--)
{
memset(step,INF,sizeof(step));
queue<int>q;
scanf("%d%d",&n,&m);
for( i= ; i<n ;i++)
scanf("%d",&a[i]);
q.push();
step[]=;///记录步数
while(!q.empty())
{
v=q.front();
q.pop();
for( i= ; i<n ;i++)
{
nt=v+a[i];///时间点
if(nt<)
nt=;
if(nt>)
nt=;
if(step[nt]<=step[v]+)
continue;
step[nt]=step[v]+;
q.push(nt);
}
}
for( i=m; i<=;i++)
if(step[i]!=INF)
break;
printf("%d %d\n",step[i],i-m);
}
}

做题报告:

题意要理解清楚,要明白小于0为0,大于3600为3600,大胆暴力

BAPC 2014:Button Bashing(暴力+bfs)的更多相关文章

  1. hdu 1195:Open the Lock(暴力BFS广搜)

    Open the Lock Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  2. BAPC2014 B&amp;&amp;HUNNU11582:Button Bashing(BFS)

    题意: 给出n,m,代表微波炉有n个button,要求达到总时间为m 然后给出n个数.代表n个button能添加的时间,问最少几步,可以使得按出的总时间大于等于要求的时间,而且相差最小 输出最小的步数 ...

  3. bzoj 1295: [SCOI2009]最长距离 暴力+bfs最短路

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1295 题解: 对每个点暴力跑一遍bfs,看能够到达的最远位置,这里如果有障碍物则距离为1 ...

  4. 青岛网络赛J-Press the button【暴力】

    Press the Button Time Limit: 1 Second      Memory Limit: 131072 KB BaoBao and DreamGrid are playing ...

  5. UVa 10603 Fill (暴力BFS+优先队列)

    题意:给定4个数,a,b,c,d,分别代表空杯子容积为a,b,一个盛满水的杯子容积为c,让你不断倒水,找一个dd,是不是存在某个时刻, 某个杯子里的水dd,和d相同,或者无限接近.让求最少的倒水量和d ...

  6. hdu 4771 13 杭州 现场 B - Stealing Harry Potter's Precious 暴力bfs 难度:0

    Description Harry Potter has some precious. For example, his invisible robe, his wand and his owl. W ...

  7. 八数码问题(一) 暴力BFS + STL

    八数码问题是一个经典的人工智能问题.具体问题不累述了. 思路:由于存在多组测试数据,可以考虑“打表法“.所谓打表法,即枚举所有的初始情况,记录其到达终点的路径.而在这个题目中,顺序打表会调用很多次BF ...

  8. Nearest number - 2_暴力&&bfs

    Description Input is the matrix A of N by N non-negative integers. A distance between two elements A ...

  9. 【最短路】BAPC2014 B Button Bashing (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

随机推荐

  1. 【MySQL】20个经典面试题(转)

    原文链接:http://bbs.51cto.com/thread-1470880-1.html Part2:经典题目 1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 2.my ...

  2. go语言linux下安装

    1.从http://golang.org/dl/下载最新版本的GO语言二进制档案包. 注意:根据操作系统和计算架构正确选择档案包 2.使用tar命令将档案包解压到/usr/local目录中.具体方法如 ...

  3. nodejs读文件

    1.异步读取文件:var fs= require('fs'); // 从文件系统中读取请求的文件内容 fs.readFile(pathname.substr(1), function (err, da ...

  4. SQL serve 数据库--视图、事物、分离附加、备份还原

    视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据.行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态生成.  视图只能用来查询,不能增删改:不允许出现重复列 ...

  5. Condition实现多线程顺序打印

    Condition实现多线程顺序打印: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.R ...

  6. java的邮件系统实现

    想要java中邮件发送和接收邮件,首先需要支持SMTP- pop/pop3/IMAP协议,发送的话还需要配置文件,来对程序提供相应的接口,只需要这两个文件,就可以实现邮件的接收发送, 协议为jar包封 ...

  7. #pragma pack()用法详解

    博客转载自:http://blog.csdn.net/lime1991/article/details/44536343 1.什么是对齐?为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从 ...

  8. 数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value 标签: 图像处理MATLABfft 2017-05-07 23:1

    实验要求: Objective: To observe the Fourier spectrum by FFT and the average value of an image. Main requ ...

  9. 1003 NOIP 模拟赛Day2 城市建设

    题面不好找放一个吧. Description 描述 在有$N$个地级市的H省,政府为了城市开发建设,决定先修路,后造房子,以吸引外来人员.一开始每个城市中有$b_i$个住户,而在两个城市$u,v$之间 ...

  10. SDUT 2107 图的深度遍历

    图的深度遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 请定一个无向图,顶点编号从0到 ...