xynuoj 灯光问题 酒馆浪人的博客

来源:互联网 发布:mac视频拷贝到u盘 编辑:程序博客网 时间:2024/04/28 19:44

问题 A: 灯光控制

时间限制: 1 Sec  内存限制: 128 MB
提交: 52  解决: 39
[提交][状态][讨论版]

题目描述

灯光师小明控制着各种晚会的各种大小灯,每次晚会小明都会对灯进行很多次操作。对每盏灯只能进行两种操作,开和关。现在小明希望自己随时都知道还有多少盏灯亮着。你需要编写一个程序当小明问你时你能快速的说出还有多少盏灯亮着。 注意晚会开始时所有的灯都是灭的。

输入

只有一组数据.第一行输入两个正整数N,T(0<N<=100000,0<T<=1000000)N表示有N盏灯,T表示有T条指令。随后T行每行有一条指令,这条指令包含一个字符串,当字符串为CHANGE,它后面还有一个整数m,表示对第m盏灯进行一次操作(操作表示如果第m盏灯灯是开着时就关闭,如果灯是关着时就打开)。当字符串为QUERY,表示小明想查询现在还有多少盏灯亮着。

输出

每次查询指令输出占一行,输出当前亮着灯的个数

样例输入

10 8
CHANGE 1
QUERY
CHANGE 2
QUERY
CHANGE 1
CHANGE 9
CHANGE 7
QUERY

样例输出

1
2
3
日常签到题,不解释直接上代码,不懂留言私信都可以
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    int t,N,T,b,s[100005]={0};
    char a[7];
    t=0;
    cin>>N>>T;
    for(int i=0;i<T;i++)
    {
        cin>>a;
        if(a[0]=='C')
        {
            cin>>b;
            if(s[b])
            {
                s[b]=0;
                t--;
            }
            else
            {
                s[b]=1;
                t++;
            }
        }
        else
        cout<<t<<endl;
    }
    return 0;
 }
原创粉丝点击