zoukankan      html  css  js  c++  java
  • Hdu2053

    Switch Game HDU - 2053

    Time limit1000 msMemory limit32768 kB

    There are many lamps in a line. All of them are off at first. A series of operations are carried out on these lamps. On the i-th operation, the lamps whose numbers are the multiple of i change the condition ( on to off and off to on ).

    InputEach test case contains only a number n ( 0< n<= 10^5) in a line.
    OutputOutput the condition of the n-th lamp after infinity operations ( 0 - off, 1 - on ).Sample Input

    1
    5

    Sample Output

    1
    0


    首先我们得知道,第n次开关改变n的倍数的灯,那么前n盏灯的状态不再改变。所以要知道无限次操作后第n盏灯的状态,只需计算n盏灯n次操作后的状态。
    一开始想到的是模拟。时限是一秒,1秒大概能做10^8次操作,而题目的范围是10^10,不出意外TLE了。
     1 #include <cstdio>
     2 #include <iostream>
     3 #include <queue>
     4 #include <vector>
     5 #include<string.h>
     6 #include<map>
     7 #include<bits/stdc++.h>
     8 #define LL long long
     9 #define maxn 100005
    10 using namespace std;
    11 int a[maxn];
    12 int n;
    13 int main()
    14 {
    15     while(scanf("%d",&n)!=EOF)
    16     {
    17      memset(a,0,sizeof a);
    18      for(int i=1;i<=n;i++)
    19      {
    20          for(int j=1;j<=n;j++)
    21          {
    22              if((j%i)==0)
    23                 a[j]=!a[j];
    24          }
    25      }
    26      printf("%d
    ",a[n]);
    27     }
    28     return 0;
    29 }

    接着,想到第n盏的开关实际决定与它因数的个数,偶数个因数-0,奇数个因数-1.

     1 #include <cstdio>
     2 #include <iostream>
     3 #include <queue>
     4 #include <vector>
     5 #include<string.h>
     6 #include<map>
     7 #include<bits/stdc++.h>
     8 #define LL long long
     9 #define maxn 100005
    10 using namespace std;
    11 int n,ans;
    12 int main()
    13 {
    14     while(scanf("%d",&n)!=EOF)
    15     {
    16         ans=0;//记得初始化
    17         for(int i=1;i<=n;i++)
    18         if((n%i)==0)
    19             ans++;
    20         if(ans&1)printf("1
    ");
    21         else printf("0
    ");
    22     }
    23     return 0;
    24 }




  • 相关阅读:
    Spark学习笔记——安装和WordCount
    Scala学习笔记——入门
    Scala学习笔记——安装
    Maven常用命令(转)
    maven中snapshot快照库和release发布库的区别和作用 (转)
    Hadoop学习笔记——WordCount
    Hadoop学习笔记——安装Hadoop
    机器学习——利用SVD简化数据
    Python自然语言处理学习——jieba分词
    机器学习——大数据与MapReduce
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/10896211.html
Copyright © 2011-2022 走看看