2304. 光芒
(File IO): input:light.in output:light.out
时间限制: 1000 ms 空间限制:
题目:
输入:
输出:
数据范围:
提示
按动 1、4 、5 号开关
思路:
这个神奇的题,让我又一次信了她的鬼话,输-1?啊,呸。还以为能拿到10分就先不做了。
这道题这要从后面往前搜,有没开的就按照题意给他开了。有个贪心思想,很简单。
CODE
#include<iostream> #include<cstdio> using namespace std; int n,ans=0; bool a[100001]; void change(int x) { if(a[x]==true) a[x]=false; else a[x]=true; } int main() { //freopen("light.in","r",stdin); //freopen("light.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=n;i>=1;i--) { if(a[i]) { for(int j=1;j*j<=i;j++) { if(i%j==0) { change(i/j); change(j); if(i/j==j) change(j); } } ans++; } } cout<<ans; }
完结撒花!!!
众生,与我如浮云