Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 920  Solved: 406
[Submit][Status][Discuss]

Description

Orez很喜欢玩游戏,他最近发明了一款硬币游戏。他在桌子的边缘上划分出2*n个位置并按顺时针把它们标号为1,2,……,2n,然后把n个硬币放在标号为奇数的位置上。接下来每次按如下操作:在任意两个硬币之间放上一个硬币,然后将原来的硬币拿走;所放硬币的正反面由它两边的两个硬币决定,若两个硬币均为正面朝上或反面朝上,则所放硬币为正面朝上,否则为反面朝上。
那么操作T次之后桌子边缘上硬币的情况会是怎样的呢?

Input

文件的第一行包含两个整数n和T。 接下的一行包含n个整数,表示最开始桌面边缘的硬币摆放情况,第i个整数ai表示第i个硬币摆放在2*i-1个位置上,ai=1表示正面朝上,ai=2表示反面朝上。

Output

文件仅包含一行,为2n个整数,其中第i个整数bi桌面边缘的第i个位置上硬币的情况,bi=1表示正面朝上,bi=2表示反面朝上,bi=0表示没有硬币。

Sample Input

10 5
2 2 2 1 1 1 1 1 1 2

Sample Output

0 1 0 1 0 1 0 1 0 2 0 1 0 2 0 1 0 1 0 1

数据范围
30%的数据 n≤1000 T≤1000
100%的数据 n≤100000 T≤2^60

样例解释
20202010101010101020
01010201010101010201
10102020101010102020
01020102010101020102
20202020201010202020
01010101020102010101

思路

找规律;
题目描述好坑爹,建议看COGS的;
对于某一状态的某一位置,其2k次操作后的情况,与原状态下的左右各k+1的位置的硬币状态有关;

代码实现

 #include<cstdio>
#include<iostream>
using namespace std;
const int maxn=2e5+;
int n,m;
long long k,l,r;
int a[maxn],b[maxn];
int main(){
scanf("%d%lld",&n,&k),m=n<<;
for(int i=;i<=n;i++) scanf("%d",&b[i*-]);
while(k){
for(int i=;i<=n<<;i++) a[i]=b[i];
int i=;
long long j=;
for(i;j<=k;j<<=);
j>>=,k-=j;
l=-j,r=+j;
for(int i=;i<=m;i++){
l=l%m+m,l=l%m,r=r%m;
if(!a[l]) b[i]=;
else if(a[l]==a[r]) b[i]=;
else b[i]=;
l++,r++;
}
}
for(int i=;i<=m;i++){
printf("%d",b[i]);
if(i!=m) putchar(' ');
else putchar('\n');
} return ;
}

最新文章

  1. 刨根问底U3D---关于Delegate的方方面面
  2. Java——File(文件)
  3. javac 不是内部或外部命令
  4. VC中调用COM组件的方法(转载)
  5. 修改tomcat的默认编码
  6. canvas 时钟
  7. iOS: 学习笔记, Swift运算符定义
  8. Django中的Form
  9. 三个创建WebStorm项目的方法
  10. MyEclipse取消Show in Breadcrumb的方法
  11. winform项目导入数据
  12. SQLServer数据事务日志操作
  13. Codeforces Round #546 (Div. 2)
  14. super和this关键字
  15. jira-6.0.1-x64下载地址
  16. Gradle &#39;MYasprj&#39; project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容
  17. django 获取前端获取render模板渲染后的html
  18. JS定时器相关用法
  19. python基础知识梳理----6set 集合的应用
  20. 什么是Coded UI

热门文章

  1. HDU 4135 容斥原理
  2. ACM_物品分堆(01背包)
  3. TCP/IP 3握手4挥手
  4. SparkContext, map, flatMap, zip以及例程wordcount
  5. Scala简单计算实例,其在数据分析方面的优势体会
  6. 漫谈未来的HDFS
  7. 不讲CRUSH的Ceph教程是不完整的
  8. Objective-C设计模式——桥接Bridge(接口适配)
  9. MySQL 帮助类 MySQLHelper
  10. 浏览器的两种模式quirks mode 和strict mode