TGD(玄一关)
  • 板块灌水区
  • 楼主__DayLight__
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/6/12 13:49
  • 上次更新2024/6/12 19:07:36
查看原帖
TGD(玄一关)
642434
__DayLight__楼主2024/6/12 13:49

求这题の思路。

我的代码

#include<bits/stdc++.h>
using namespace std;
int t,n,k;
signed main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>t;
	while(t--)
	{
		cin>>n>>k;
		int q=sqrt(k);
		if(q*q==k)cout<<"YES\n";
		else cout<<"NO\n";
	}
	return 0;
}

我的思路:

对于某一盏关闭的灯,可知按奇数次后会是打开的,反之则是关闭的。

由于题目要求操作编号为 ii 的倍数的灯,那么对于第 kk 盏灯,其被操作次数就是 kk 的因数的个数(应该是)。

又因为因数常常成双成对地出现,所以大部分整数的因数个数都是偶数。

而完全平方数的因数的个数就是奇数。

故判断 kk 是否是完全平方数就行了。


我的想法有什么问题吗......

2024/6/12 13:49
加载中...