poj1484---判断保险丝是否烧断
题目输入要求:
2 2 10 //设备数n  接下来的操作数m   保险丝能承受最大电流c
5 //电器1的电流
7 //2的电流
1 //反转开关1
2 //反转开关2
思路:设置一个flag数组,记得每次进入一个数据集,重新设为0,flag从1开始,flag[1]...flag[n]模拟开关状态
将每个device的电流分别存到ci数组里,从1开始存ci[1],存到ci[n],不管ci[0],n<=20,随便给个 大于21的数
接着,再用一个for循环,读入device序号,如果flag[dev]==0,flag反转为开,ci_total加上对应序号设备的电流ci[dev]
设备序号dev 1 2 3 4 5 6
ci[]设备对应电流 7 4 5 9 2 8
flag[]设备状态 0 0 1 0 1 0
数组序号 0 1 2 3 4 5 6
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
int n,m,c,i,count=0;
int flag[25],ci[1000];
while(scanf("%d%d%d",&n,&m,&c)!=EOF)
{
int ci_total=0;
if(n==0&&m==0&&c==0)
break;
memset(flag,0,sizeof(flag));
for(i=1;i<n+1;i++)
{
scanf("%d",&ci[i]);
}
int max=0;
for(i=1;i<m+1;i++)
{
int dev;
scanf("%d",&dev);
if(flag[dev]==0)
{
flag[dev]=1;//反转状态
ci_total+=ci[dev];//
}
else
{
flag[dev]=0;
ci_total-=ci[dev];
}
if(ci_total>max)//如果在过程中,出现了max>c情况接下来的数据输入只可能让他更高,不可能变小,所以,就算比当前大于大于max的数还大,循环出来也是会>c
max=ci_total; //没有遇到max>c就没有呗
}
if(max>c)
{
printf("Sequence %d\n",++count);
printf("Fuse was blown.\n");
printf("\n");
}
else
{
printf("Sequence %d\n",++count);
printf("Fuse was not blown.\n");
printf("Maximal power consumption was %d amperes.\n",max);
printf("\n");
}
}
return 0;
}
WA三次,原因memset函数没搞清楚
memset包含于头文件:#include <string.h>,属于字符串处理函数
memset(数组地址,所需要赋的值,所需赋的数组大小,通常是sizeof(数组名)或者sizeof(flag[0]*m))
sizeof(flag[0]*m)表示将数组从给的地址开始的m个元素赋值
poj1484---判断保险丝是否烧断的更多相关文章
- poj2513字典树+欧拉图判断+并查集断连通
		题意:俩头带有颜色的木棒,要求按颜色同的首尾相连,可能否? 思路:棒子本身是一条边,以俩端为顶点(同颜色共点),即求是否有无向图欧拉路(每条棒子只有一根, 边只能用一次,用一次边即选一次棒子). 先判 ... 
- 跟我学SpringCloud | 第四篇:熔断器Hystrix
		跟我学SpringCloud | 第四篇:熔断器Hystrix 1. 熔断器 服务雪崩 在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中 ... 
- STA之RC Corner再论
		Q:RC-Corner跟PVT怎么组合? A:通常的组合: Q:通常说的ttcorner指的是啥? A:@孟时光 ttcorner是指管子在tt+RCtyp吧. Typesof corners W ... 
- Loto实践干货(8) 实测 保险丝 用示波器带电流探头
		本文用LOTO示波器和5A的电流探头来实验两种常见类型的保险丝的保护曲线.一种是熔断型的,另一种是自恢复型的.我们通常需要在一些电路中对电流过大的情况做保护,比如防止用户把输出源短路,比如防止用户对电 ... 
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(5)- 再聊eFUSE及其烧写方法
		大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的eFUSE. 在i.MXRT启动系列第二篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子 ... 
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法
		大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子 ... 
- PHP 面试知识点整理归纳
		基础篇了解大部分数组处理函数 array_chunk — 将一个数组分割成多个 array_column — 返回数组中指定的一列 array_combine — 创建一个数组,用一个数组 ... 
- words2
		餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ... 
- Computer assembly and maintenance
		转载请注明出处: 我所遇见的世界会更美好 第一章 计算机的基本构成和组装 1,内存的组成? (1) RAM(随机存取存储器) (2) ROM(只读存储器) (3) Cache(高速缓存) 2,S ... 
随机推荐
- FormSheet式模态视图,点击模态视图外隐藏模态视图的方法
			@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ... 
- VS2012常用快捷建(必备)
			1. 强迫智能感知:Ctrl+J:2.强迫智能感知显示参数信息:Ctrl-Shift-空格:3.格式化整个块:Ctrl+K+F4. 检查括号匹配(在左右括号间切换): Ctrl +]5. 选中从光标起 ... 
- YUI的模块化开发
			随着互联网应用越来越重,js代码越来越庞大,如何有效的去组织自己的代码,变得非常重要.我们应该学会去控制自己的代码,而不是到最后一堆bug完全不知道从哪冒出来.前端的模块化开发可以帮助我们有效的去管理 ... 
- 使用AES加密的帮助类
			在开发中经常使用加密/解密对一些内容进行处理,比如密码在存入数据库之前先经过加密处理等等,这里就把一个加密帮助类代码贴出来,供以后查找使用. 这个帮助类主要功能是对字符串和字节数组进行加密解密处理. ... 
- 红外遥控系统原理及单片机软件解码程序,我的编写经历(C版本)
			应该说现在每一块开发板都带有红外模块,并且大都配置了相应的程序.但其实自己动手写解码程序,更能锻炼自己所学,且不谈程序写的如何,这个过程中肯定是受益良多的.现在我就把我花一下午写出的解码程序与大家分享 ... 
- Inno Setup技巧[界面]添加和自定义左下角标签
			原文 http://blog.sina.com.cn/s/blog_5e3cc2f30100cc49.html 本文介绍添加和自定义“左下角标签”的方法. 界面预览: Setup技巧[界面]添加和自定 ... 
- 全选demo
			我们处理数据时,最好能够支持全选操作. 选中之后,进行删除,或其他处理. 我自己写了一个demo. 主要功能: 1.点击全部选中 2.点击全部取消 3.然后进行获取选中的id,进行处理 代码如下: & ... 
- linux之SQL语句简明教程---UNION ALL
			UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起. UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复 ... 
- adobe reader安装完成之前被中断,错误代码150210解决方法
			adobe reader安装完成之前被中断,错误代码150210解决方法出现这种情况是因为之前安装过adobe reader但是没有卸载删除干净进而导致重新安装时无法安装.为什么卸载不了大多数是因为3 ... 
- leetcode_question_130 Surrounded Regions
			Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ... 
