求解,bitset过不了?!
  • 板块B2092 开关灯
  • 楼主Ghy_boy
  • 当前回复6
  • 已保存回复6
  • 发布时间2025/8/29 23:58
  • 上次更新2025/8/30 15:14:09
查看原帖
求解,bitset过不了?!
1086459
Ghy_boy楼主2025/8/29 23:58

好吧,是noi上的只能在洛谷上随缘了。

--》题目31:开关灯

因为没学数组,只学了bitset,所以用bitset做了,但是没过,有大佬能帮我一下吗?

#include<iostream>
#include <bitset>
#define _CRT_SECURE_NO_WARNINGS 1
using namespace std;
int main() {
	int n, m;
	cin >> n >> m;
	std::bitset<5001> light;//0是关灯
	for (int i = 1; i <= m; ++i) {
		for (int j = 1; j <= n; j++) {
			if (j % i == 0) {
				if (light.test(i)) light.reset(i);
				else light.set(i);
			}
		}
	}
	bool val = false;
	for (int i = 1; i <= n; ++i) {
		if (!light.test(i)&&val==false) {
			cout << i;
			val = true;
		}
		else if (!light.test(i) && val == true) cout << ',' << i;
	}
	cout << endl;
	return 0;
}
2025/8/29 23:58
加载中...