545B. Equidistant String
输入两个只含有01的字符串,s,t
求一个字符串p使到s,t的距离一样
这里的距离是指对应位置:0-0的距离是0 ,o-1的距离是1 ,1-1的距离是0,1-0的距离是1
这里只要求找出满足条件的一个p既可以
对s,t相同位置一样的可以不考虑,因为这个是同时增加了p到两者的距离
下面就是只对相同位置不相同的情况考虑
交替的选取si,ti的位置的元素组成新的p
如果不相同的元素个数是偶数则这里的p满足条件,否则,不对头。
下面的java代码,p我定义成String类型,每次把要链接的si或ti链接起来,提交后 第三次测试数据运行时间超时,,,,,,,改成StringBuilder,就可以了。。。。。
Java代码:
import java.util.Scanner;
public class B545 {
static void run(){
Scanner sc = new Scanner(System.in);
char[] s= sc.next().toCharArray();
char[] t = sc.next().toCharArray();
StringBuilder p = new StringBuilder();
int count = 0;
boolean flag = false;
for(int i=0;i<s.length;i++){
char si=s[i];
char ti=t[i];
if(si == ti)
p.append(si);
else if(flag==false)
{
p.append(si);
count++;
flag = true;
}
else if(flag = true){
p.append(ti);
count++;
flag = false;
}
}
if (count%2==0)
System.out.println(p.toString());
else System.out.println("impossible");
}
public static void main(String[] args){
run();
}
}
Python程序
def B545():
s,t = raw_input().strip(),raw_input().strip()
count = 0
p=''
flag = False
for i in range(len(s)):
if s[i]==t[i]:
p+=s[i]
elif flag==False:
p+=s[i]
count+=1
flag =True
elif flag == True:
p+=t[i]
count+=1
flag =False
#print p
if count%2==0:
print p
else:
print 'impossible' if __name__=='__main__':
B545()
545B. Equidistant String的更多相关文章
- Codeforces Round #303 (Div. 2) B. Equidistant String 水题
B. Equidistant String Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/54 ...
- B - Equidistant String
B - Equidistant String Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & % ...
- 贪心 Codeforces Round #303 (Div. 2) B. Equidistant String
题目传送门 /* 题意:找到一个字符串p,使得它和s,t的不同的总个数相同 贪心:假设p与s相同,奇偶变换赋值,当是偶数,则有答案 */ #include <cstdio> #includ ...
- 周赛-Equidistant String 分类: 比赛 2015-08-08 15:44 6人阅读 评论(0) 收藏
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- Codeforces Round #303 (Div. 2) B 水 贪心
B. Equidistant String time limit per test 1 second memory limit per test 256 megabytes input standar ...
- Codeforces Round #303 (Div. 2)
A.Toy Cars 题意:给出n辆玩具车两两碰撞的结果,找出没有翻车过的玩具车. 思路:简单题.遍历即可. #include<iostream> #include<cstdio&g ...
- Educational Codeforces Round 121 (Rated for Div. 2)——A - Equidistant Letters
A - Equidistant Letters 题源:https://codeforces.com/contest/1626/problem/A 今天上午VP了这场CF,很遗憾的是一道题也没写出来,原 ...
- 透过WinDBG的视角看String
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...
- JavaScript String对象
本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...
随机推荐
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
- [转]How do I use software from a PPA
[转]How do I use software from a PPA? https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media To s ...
- oracle增加表空间的四种方法,查询表空间使用情况
增加表空间大小的四种方法Meathod1:给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADA ...
- Linux下强制修改root密码方法(图)
如果Linux操作系统的root密码,那怎么办呢?方法很多,下面再给大家介绍一种. [1] 进入以下画面后,按下e按钮,进入编辑模式: [2]进入以下的画面后,选择如下所示的选项,再次按下e按钮: 然 ...
- [SSH服务]——一些安全性配置和补充实验
SSH 安全性和配置 转载于 http://www.ibm.com/developerworks/cn/aix/library/au-sshsecurity/ 对于一些之前列举的代码示例,许多系统管理 ...
- 设置 Eclipse 智能代码提示,大幅度减少 alt+/ 使用频率,打每个字都出现代码提示的办法
以前网上有个英文版本的,现在自己汉化一下...O(∩_∩)O 哈哈 ~ http://www.cnblogs.com/lidabo/archive/2013/03/05/2944245.html ...
- 用setTimeout 代替 setInterval实时拉取数据
在开发中,我们常常碰到需要定时拉取网站数据,如: setInterval(function(){ $.ajax({ url: 'xx', success: function( response ){ ...
- 来自平时工作中的javascript知识的积累---持续补充中
① SeaJs和RequireJS最大的区别 解惑:来自豆友 ② javascript中如何判断undefined var exp = undefined; if (exp === undefined ...
- vsm shadowmap format
遇到个奇怪的问题. 在做vsm ,shadowmap format RGBA8 结果正常 RGBA16F 场景不形成阴影的地方变纯黑,因为sm里面这些地方变纯黑(感觉这个好修一些) RGBA32F 阴 ...
- JS数组2(冒泡排列、数组里面查找数据)
数组 一.冒泡排列 对数组attr = [1,8,6,4,5,3,7,2,9]进行由大到小排列,用冒泡排列的方法排列时,会对数组进行比较互换.如果前一个数字较大,这2个元素排列方式不变,如果后一个元素 ...