可以将每一个开关控制的灯的序列看作是0/1组成的二进制.

由于灯的开和关是满足异或的性质的,所以直接求一下线性基大小即可.

答案为 $2^{size}.$

#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 62
#define M 62
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int n,m;
ll d[N<<1];
char str[N];
void insert(ll x)
{
int i;
for(i=M;i>=0;--i)
{
if(x&(1ll<<i))
{
if(d[i]) x^=d[i];
else
{
d[i]=x;
break;
}
}
}
}
int main()
{
int i,j;
// setIO("input");
scanf("%d%d",&m,&n);
for(i=1;i<=n;++i)
{
scanf("%s",str);
ll num=0;
int length=strlen(str);
for(j=0;j<length;++j)
{
if(str[j]=='O')
{
num+=(1ll<<(length-j-1));
}
}
insert(num);
}
int ans=0;
for(i=M;i>=0;--i) if(d[i]) ++ans;
printf("%d\n",(1ll<<ans)%2008);
return 0;
}

  

最新文章

  1. CSS3 Animation 帧动画 steps()
  2. 如何去掉Eclipse里面自动追加的一些注释!!!内详
  3. JAVA_HOME path classpath 以及cmd编译运行java代码
  4. MSSQL 2008错误提示:更改对于登录sa失败
  5. target不起作用了
  6. RxCache 的代码分析,含缓存时间duration的在代码中改变的自己实现的机制
  7. 谈使用Eclipse与DDMS调试Android程序的方法
  8. Shell脚本编程的常识
  9. Thymeleaf引擎支持Multi Prefix
  10. Jenkins通过Publish over SSH插件实现远程部署
  11. 微信小程序报错,不在以下 request 合法域名列表中(引起的探索)
  12. 数据结构——Java实现顺序栈
  13. Golang学习:sublime text3配置golang环境
  14. @RequestBody注解的参数仅仅读取一次的问题解决。
  15. kafka可视化客户端工具(Kafka Tool)的基本使用
  16. 2018上IEC计算机高级语言(C)作业 第3次作业
  17. blinn-phong高光反向穿透问题
  18. Spring注解之@validated的使用
  19. How To Scan QRCode For UWP (2)
  20. Highcharts X轴纵向显示

热门文章

  1. JS实现点击查看密码功能,再次点击隐藏密码!
  2. Redis主从及哨兵
  3. windows 控制台默认为UTF-8显示的方法
  4. List与Set区别
  5. 洛谷题解P4314CPU监控--线段树
  6. Myeclipse启动后tomcat空指针异常
  7. 转载Linux常用命令
  8. idea 党用快捷键
  9. Troubleshooting: Cannot Run on an Android Device
  10. vue 入门1 组件管理