Codeforces Round #324 (Div. 2)C
来源:互联网 发布:淘宝拍卖商业房产税费 编辑:程序博客网 时间:2024/06/06 01:59
C. Marina and Vasya
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Marina loves strings of the same length and Vasya loves when there is a third string, different from them in exactly t characters. Help Vasya find at least one such string.
More formally, you are given two strings s1, s2 of length n and number t. Let’s denote as f(a, b) the number of characters in which strings a and b are different. Then your task will be to find any string s3 of length n, such that f(s1, s3) = f(s2, s3) = t. If there is no such string, print - 1.
Input
The first line contains two integers n and t (1 ≤ n ≤ 105, 0 ≤ t ≤ n).
The second line contains string s1 of length n, consisting of lowercase English letters.
The third line contain string s2 of length n, consisting of lowercase English letters.
Output
Print a string of length n, differing from string s1 and from s2 in exactly t characters. Your string should consist only from lowercase English letters. If such string doesn’t exist, print -1.
Examples
input
3 2
abc
xyc
output
ayd
input
1 0
c
b
output
-1
思路比较简单,先把不同的换成相同的有几个
然后两个相等的直接落下来并且m–
其他的就把q串落下来m个,w也一样
如果个数不够就-1
思路好像
疯狂wa
模拟题神烦
#include<iostream>#include<cmath>#include<string>#include<algorithm>using namespace std;string q, w, e;int main(){ int n, m; cin >> n >> m; m = n - m; cin >> q >> w; e = q; int yy = 0; for (int a = 0;a < n;a++) { if (q[a] == w[a] && m>0) { m--; e[a] = q[a]; yy++; } else e[a] = '.'; } if (yy + m + m > n) { cout << -1; return 0; } int jj = 0; int ee = m; for (int a = 0;a < n;a++) { if (q[a] == w[a])continue; jj++; if (jj > m + ee) { for (int b = 'a';b <= 'z';b++) { if (b != q[a] && b != w[a]) { e[a] = b; break; } } } else if (jj > m)e[a] = w[a]; else e[a] = q[a]; } for (int a = 0;a < n;a++) { for (int b = 'a';b <= 'z';b++) { if (e[a] == '.'&&b!=q[a]&&b!=w[a]) { e[a] = b; break; } } } cout << e;}
- Codeforces Round #324 (Div. 2)C
- 【codeforces】Codeforces Round #370 (Div. 2) C
- Codeforces Round #324 (Div. 2)
- Codeforces Round# 324(Div.2)
- Codeforces Round #324 (Div. 2)C. Marina and Vasya
- Codeforces Round #324 (Div. 2) 584C. Marina and Vasya
- Codeforces Round #324 (Div. 2) C. Marina and Vasya
- Codeforces Round #324 (Div. 2)C. Marina and Vasya
- Codeforces Round #105 (Div. 2) C
- Codeforces Round 134 div 2 C题
- Codeforces Round #137 (Div. 2), problem: (C)
- Codeforces Round #153 (Div. 2) C题
- Codeforces Round #158 (Div. 2) C题
- Codeforces Round #162 (Div. 2) C
- Codeforces Round #166 (Div. 2) c. Secret
- Codeforces Round#170(Div 2)C
- Codeforces Round #173 (Div. 2) Problem C
- Codeforces Round #192 (Div. 2) C. Purification
- 3.2顺序结构
- RAML的学习之路(一)
- HDU 2066 一个人的旅行(最短路dijkstra)
- RAML的学习之路(二)
- 每天一个linux命令:cal 命令
- Codeforces Round #324 (Div. 2)C
- CMD提示不是内部或外部命令怎么办?
- 【数据结构与算法】 DP 动态规划 介绍
- numpy基础运算1
- HDU4497:GCD and LCM(数论)
- 在CentOS7.3下yum安装Kubernetes1.4傻瓜教程
- 基于Nodejs的第一个小爬虫
- 二重价值的最短路
- Numpy 基础运算2