2021年市北区程序设计竞赛试题(初中组)
1.开关灯(light.cpp)
【题目描述】
某实验室共有n盏灯,灯的编号为1~n,每盏灯的初始状态是关闭的。现在有m位学生,每位学生可以前去抽取一张带数字的卡片,其数字为Ai,然后依次将自己手中的数字卡片倍数编号的灯进行操作,开的灯将会被关闭,关闭的灯则会被重新打开,这个过程进行k轮后有多少盏灯最终状态为打开。
【输入描述】
第一行是三个整数n,m,k。
第二行是m个整数A
【输出描述】
一个整数,为最终为打开状态的灯的数量。
【样例输入】
10 10 1 1 2 3 4 5 6 7 8 9 10
【样例输出】
3
【样例解释】
第1位学生持有卡片上的数字为1,会把所有的灯都打开,第2位学生持有的卡片上数字为2,会把2的倍数的所有灯进行操作,开的灯将被关闭,关闭的灯则会重新打开,第3位~第10位同学依次按照这种方法操作,1轮结束后有3栈灯是打开的。
【数据范围】
80%的数据:1<=n<=1000,m<=1000,ai<=n
100%的数据:1<=n<=1000,m<=1000,ai<=n,k<=1000