HDU 2053 Switch Game 简单题

解题报告:

题目大意:有n盏灯排成一行,一开始他们的状态都是熄灭的,现在输入一个N,表示要进行n此操作,第i此操作时要改变第i的倍数盏灯的状态,即熄灭的变亮,亮的变熄灭,问操作完之后第n盏灯的状态是什么,亮的就输出1,是暗的就输出0。

简单题,因为本题没有时间上的限制,所以输入一个n,可以直接用一个数组表示当前的每个灯的状态,没做一次操作就将每个灯的状态改变一次,最后直接查询即可。

 1 #include<cstdio>
 2 #include<cstring>
 3 int A[100000+5];
 4 int main() {
 5     int n;
 6     while(scanf("%d",&n)!=EOF) {
 7         memset(A,0,sizeof(A));
 8         for(int i=1;i<=n;++i) {
 9             for(int j=i;j<=n;j+=i)
10             A[j]^=1;
11         }
12         printf("%d\n",A[n]);
13     }
14     return 0;
15 }
View Code
原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3080801.html