题目输入要求:

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---判断保险丝是否烧断的更多相关文章

  1. poj2513字典树+欧拉图判断+并查集断连通

    题意:俩头带有颜色的木棒,要求按颜色同的首尾相连,可能否? 思路:棒子本身是一条边,以俩端为顶点(同颜色共点),即求是否有无向图欧拉路(每条棒子只有一根, 边只能用一次,用一次边即选一次棒子). 先判 ...

  2. 跟我学SpringCloud | 第四篇:熔断器Hystrix

    跟我学SpringCloud | 第四篇:熔断器Hystrix 1. 熔断器 服务雪崩 在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中 ...

  3. STA之RC Corner再论

    Q:RC-Corner跟PVT怎么组合? A:通常的组合:   Q:通常说的ttcorner指的是啥? A:@孟时光 ttcorner是指管子在tt+RCtyp吧. Typesof corners W ...

  4. Loto实践干货(8) 实测 保险丝 用示波器带电流探头

    本文用LOTO示波器和5A的电流探头来实验两种常见类型的保险丝的保护曲线.一种是熔断型的,另一种是自恢复型的.我们通常需要在一些电路中对电流过大的情况做保护,比如防止用户把输出源短路,比如防止用户对电 ...

  5. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(5)- 再聊eFUSE及其烧写方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的eFUSE. 在i.MXRT启动系列第二篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子 ...

  6. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子 ...

  7. PHP 面试知识点整理归纳

    基础篇了解大部分数组处理函数 array_chunk — 将一个数组分割成多个    array_column — 返回数组中指定的一列    array_combine — 创建一个数组,用一个数组 ...

  8. words2

    餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ...

  9. Computer assembly and maintenance

    转载请注明出处: 我所遇见的世界会更美好 第一章 计算机的基本构成和组装 1,内存的组成? (1)  RAM(随机存取存储器) (2)  ROM(只读存储器) (3)  Cache(高速缓存) 2,S ...

随机推荐

  1. Leetcode算法刷题:第112题 Path Sum

    Path Sum 题目 给予一个二叉树,和一个值su,寻找是否有一个从根节点到叶节点的和为su,有则返回True,没有为False.比如: 5 / \ 4 8 / / \ 11 13 4 / \ \ ...

  2. nginx---Beginner's Guide

    一 启动 nginx -s signal Where signal may be one of the following: stop — fast shutdown quit — graceful ...

  3. 编译安装mysql5.7.9

    第一步:安装一些可能会用到的依赖 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib lib ...

  4. php5.5以上的版本 开启curl

    对于php5.5以上的版本开启方法,需要libeay32.dll.ssleay32.dll.libssh2.dll三个文件拷备到C:\Windows目录下,php.ini中 扩展开启,重启apache ...

  5. 最核心4大NFC技术规范详解

    1998年,飞利浦.索尼和诺基亚创建了 NFC论坛,宗旨是推动NFC的发展普及和规范化.论坛至今共推出了5大类技术规范:协议技术规范(Protocol Technical Specification) ...

  6. 在类似qq或者微信聊天中。如何根据不同的手机发送图片

    原文:在类似qq或者微信聊天中.如何根据不同的手机发送图片   前一段时间,公司自己要求做多客服开发,但是对于发送图片这一块,当时很苦恼,我用自己的手机(米2)测试,不管是本地,还是云相册,最新照片. ...

  7. popen3

    windows版本popen3函数 整理了下10年08月给 fossil 捐的代码  implementation of function “popen2” on win32——参考自 Creatin ...

  8. spring 3配置文件中如何注入map list set等类型

    首先写个 javabean类吧,如下 package com.bean; import java.util.List; import java.util.Map; import java.util.P ...

  9. C#委托的异步调用【转】

    本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: ); //模拟该方法运 ...

  10. 滚动栏范围位置函数(SetScrollRange、SetScrollPos、GetScrollRange、GetScrollPos)

    滚动栏的范围是一对整数,默认情况下,滚动栏的范围是0~100. SetScrollRange(hwnd,iBar,iMin,iMax,bRedraw)这里的iBar參数要么是SB_VERT,要么是SB ...