История изменений
Исправление
anonymous-angler,
(текущая версия)
:
Rust. Для указанных примеров работает. Для всего остального - условие слишком жидкое.
use std::io::{stdin, BufRead, BufReader};
fn main() {
'outter: for line in BufReader::new(stdin()).lines() {
let line = line.expect("Error while reading a line").replace('+', " ");
let (first, second) = line
.split_once(char::is_whitespace)
.map(|(s1, s2)| (s1, s2.trim_start()))
.expect("Error while extracting strings");
for i in 0..first.len() {
if second.as_bytes().starts_with(&first.as_bytes()[i..]) {
println!("{}{}", &first[..i], second);
continue 'outter;
}
}
println!("{}{}", first, second);
}
}
Исходная версия
anonymous-angler,
:
Rust. Для указанных примеров работает. Для всего остальное - условие слишком жидкое.
use std::io::{stdin, BufRead, BufReader};
fn main() {
'outter: for line in BufReader::new(stdin()).lines() {
let line = line.expect("Error while reading a line").replace('+', " ");
let (first, second) = line
.split_once(char::is_whitespace)
.map(|(s1, s2)| (s1, s2.trim_start()))
.expect("Error while extracting strings");
for i in 0..first.len() {
if second.as_bytes().starts_with(&first.as_bytes()[i..]) {
println!("{}{}", &first[..i], second);
continue 'outter;
}
}
println!("{}{}", first, second);
}
}