题目链接

输入两个只含有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的更多相关文章

  1. Codeforces Round #303 (Div. 2) B. Equidistant String 水题

    B. Equidistant String Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/54 ...

  2. B - Equidistant String

    B - Equidistant String Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  3. 贪心 Codeforces Round #303 (Div. 2) B. Equidistant String

    题目传送门 /* 题意:找到一个字符串p,使得它和s,t的不同的总个数相同 贪心:假设p与s相同,奇偶变换赋值,当是偶数,则有答案 */ #include <cstdio> #includ ...

  4. 周赛-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 ...

  5. Codeforces Round #303 (Div. 2) B 水 贪心

    B. Equidistant String time limit per test 1 second memory limit per test 256 megabytes input standar ...

  6. Codeforces Round #303 (Div. 2)

    A.Toy Cars 题意:给出n辆玩具车两两碰撞的结果,找出没有翻车过的玩具车. 思路:简单题.遍历即可. #include<iostream> #include<cstdio&g ...

  7. Educational Codeforces Round 121 (Rated for Div. 2)——A - Equidistant Letters

    A - Equidistant Letters 题源:https://codeforces.com/contest/1626/problem/A 今天上午VP了这场CF,很遗憾的是一道题也没写出来,原 ...

  8. 透过WinDBG的视角看String

    摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...

  9. JavaScript String对象

    本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...

随机推荐

  1. [shell基础]——I/O重定向

    文件标识符(FD) 1. Linux使用文件标识符(FD)来标识一个进程正在访问的特定文件 2. 当打开一个文件或创建一个文件时,Linux将返回一个文件标识符供其他操作引用 3. 文件标识符是一个小 ...

  2. 通过 CALayer 修改 UIImageView 的界面属性

    界面属性的修改是每一个开发者必须知道的,为什么我就记不住呢, shit, 又耽误了时间,为了防止再找不到,特把一些常用的 CALayer属性记在这里,顺便分享 1.设置阴影 1 imageView.l ...

  3. dd面试经历

     HR面:看了我的简历,说fe做的简历就是不一样哈哈好吧,然后随便问了点项目,又问了什么时候可以去实习,就没了.三面:基本数据结构.冒泡排序.数组去重.ie与主流浏览器事件绑定.垂直居中的css实现方 ...

  4. CPU大小端判断

    两种方式:1.通过指针         2.通过联合体,联合体里面的数据都是按顺序存储的,而且不论联合体里面有多少数据类型,联合体长度是最长的数据类型的长度.不论初始化多少联合体里面的数据,有效的是最 ...

  5. appium-UI automator viewer 无[ resource-id ]项

    问题:UI automator viewer 无[ resource-id ]项,如下图 解决办法: 手机android  版本太低导致(本人4.2.2),在android4.3机子上运行正常

  6. Linux 下Valgrind 使用

    Valgrind包括如下一些工具: Memcheck.这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内 ...

  7. 【BZOJ】【3205】【APIO2013】机器人robot

    斯坦纳树 好神啊……Orz zyf && PoPoQQQ 为啥跟斯坦纳树扯上关系了?我想是因为每个点(robot)都沿着树边汇到根的时候就全部合起来了吧= =这个好像和裸的斯坦纳树不太 ...

  8. Leetcode#147 Insertion Sort List

    原题地址 心得:有关链表的题目,多用中间变量,代码写得清晰一点,适当注释 代码: ListNode *insertionSortList(ListNode *head) { if (!head) re ...

  9. Leetcode#145 Binary Tree Postorder Traversal

    原题地址 递归写法谁都会,看看非递归写法. 对于二叉树的前序和中序遍历的非递归写法都很简单,只需要一个最普通的栈即可实现,唯独后续遍历有点麻烦,如果不借助额外变量没法记住究竟遍历了几个儿子.所以,最直 ...

  10. Post 的数据被截断

    原因: Form 域 POST 提交数据 100K(可能不是这个值) 限制的解决方案   因为微软这个限制是对表单内每个域(第一个控件)的限制.问题的解决办法是,对于一个需要发送大数据的域,在提交表单 ...