当前位置:网站首页>蓝桥杯 决赛 异或变换 100分
蓝桥杯 决赛 异或变换 100分
2022-07-07 15:32:00 【@小红花】
问题描述
时间限制: 3.0s 内存限制: 512.0MB 本题总分:20 分
问题描述
小蓝有一个 01 串 s = s1s2s3 ⋅ ⋅ ⋅ sn。
以后每个时刻,小蓝要对这个 01 串进行一次变换。每次变换的规则相同。
对于 01 串 s = s1s2s3 ⋅ ⋅ ⋅ sn,变换后的 01 串s' = s'1s'2s'3 ⋅ ⋅ ⋅ s'n为:
s'1=s1;
s'i=si-1⊕si。
其中 a ⊕ b 表示两个二进制的异或,当 a 和 b 相同时结果为 0 ,当 a 和 b
不同时结果为 1。
请问,经过 t 次变换后的 01 串是什么?输入格式
输入的第一行包含两个整数 n,t,分别表示 01 串的长度和变换的次数。
第二行包含一个长度为 n 的 01 串。输出格式
输出一行包含一个 01 串,为变换后的串。
测试样例1
Input:
5 3
10110Output:
11010Explanation:
初始时为 10110,变换 1 次后变为 11101,变换 2 次后变为 10011,变换 3 次后变为 11010。评测用例规模与约定
对于 40% 的评测用例,1 ≤ n ≤ 100 , 1 ≤ t ≤ 1000。
对于 80% 的评测用例,1 ≤ n ≤ 1000 , 1 ≤ t ≤ 10^9。
对于所有评测用例,1 ≤ n ≤ 10000 , 1 ≤ t ≤ 10^18。
Java
import java.util.Scanner;
public class 异或变换 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int t = scanner.nextInt();
int circle = 1;
//最终的规律是当大于等于n的一个2的整数次幂情况下,必定存在循环。
while(circle < n) {
circle <<= 1;
}
t %= circle;
char[] arr = scanner.next().toCharArray();
for(int i = 0;i < t;i++) {
for(int j = n - 1;j > 0;j--) {
if(arr[j] == arr[j - 1]) {
arr[j] = '0';
}else {
arr[j] = '1';
}
}
//System.out.println(new String(arr));
}
System.out.println(new String(arr));
}
}
边栏推荐
- 【DesignMode】代理模式(proxy pattern)
- 面试题 01.02. 判定是否互为字符重排-辅助数组算法
- typescript ts 基础知识之类型声明
- Detailed explanation of several ideas for implementing timed tasks in PHP
- 记一次项目的迁移过程
- 在哪个期货公司开期货户最安全?
- 掌握这个提升路径,面试资料分享
- 预测——灰色预测
- Read PG in data warehouse in one article_ stat
- Lowcode: four ways to help transportation companies enhance supply chain management
猜你喜欢
The latest interview experience of Android manufacturers in 2022, Android view+handler+binder
[designmode] proxy pattern
The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
Interface oriented programming
Talk about the realization of authority control and transaction record function of SAP system
面向接口编程
两类更新丢失及解决办法
1亿单身男女“在线相亲”,撑起130亿IPO
Master this set of refined Android advanced interview questions analysis, oppoandroid interview questions
随机推荐
Introduction to ThinkPHP URL routing
01tire+链式前向星+dfs+贪心练习题.1
HAVE FUN | “飞船计划”活动最新进展
一文读懂数仓中的pg_stat
Find tags in prefab in unity editing mode
Personal notes of graphics (1)
[PHP] PHP interface inheritance and interface multi inheritance principle and implementation method
PHP realizes wechat applet face recognition and face brushing login function
字节跳动Android面试,知识点总结+面试题解析
As an Android Developer programmer, Android advanced interview
"The" "PIP" "entry cannot be recognized as the name of a cmdlet, function, script file, or runnable program."
Direct dry goods, 100% praise
最新2022年Android大厂面试经验,安卓View+Handler+Binder
字节跳动Android金三银四解析,android面试题app
Three. JS series (2): API structure diagram-2
模块六
LeetCode 1626. 无矛盾的最佳球队 每日一题
记一次项目的迁移过程
The latest interview experience of Android manufacturers in 2022, Android view+handler+binder
全网“追杀”钟薛高