contests/agc028/agc028_a.rs (44 lines of code) (raw):

#![allow(non_snake_case)] use proconio::{fastout, input}; #[fastout] fn main() { input! { N: usize, M: usize, S: String, T: String } let S: String = S; let T: String = T; let mut is_X = false; let lcm = num::integer::lcm(N, M); let mut i = lcm; // println!("{}", num::integer::lcm(N, M)); // println!("{}", num::integer::gcd(N, M)); // println!("{:?}", num::integer::gcd_lcm(N, M)); if S.as_bytes()[0] != T.as_bytes()[0] { println!("{}", -1); return; } loop { if i > 10_i32.pow(5) as usize { break; } let mut good_str: [char; 10_i32.pow(5) as usize] = ['\0'; 10_i32.pow(5) as usize]; for j in 0..i { if j == 0 { good_str[0] = S.as_bytes()[0] as char } let mut is_continue = false; if j <= N - 1 { good_str[i / N * j] = S.as_bytes()[j] as char; is_continue = true; } if j <= M - 1 { good_str[i / M * j] = T.as_bytes()[j] as char; is_continue = true; } if !is_continue { break; } } i += lcm; } } // https://atcoder.jp/contests/agc028/tasks/agc028_a // 未完 // https://atcoder.jp/contests/agc028/submissions/26821916