电灯问题 :XP最近发现一个很好玩的问题。现在有N盏电灯,序号为1到N,最开始的时候所有电灯都是关闭的。XP有一群同学,序号是(1~K),这些调皮的同学会去按电灯的开关,每个同学按开关符合一种规律。序号为1的同学会按下序号是1的倍数的灯的开关,序号是2的同学会按下序号是2的倍数的灯的开关(将关的灯打开,开的灯关闭)。现在XP有K位同学,每位同学都去操作一次,问最后有多少盏灯是亮着的?
我这用来备忘录法,打表法,利用a[][]储存每个灯的状态,0代表熄灭,1代表灯亮,b[][]用于储存多少人,多少灯时灯亮的个数,可以减少程序的循坏的次数。
#include<bits/stdc++.h>
using namespace std;
int a[1100][1100];
int b[1100][1100];
void solve(){
for(int i=