Source Code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
import java.util.TreeMap;
import java.util.TreeSet;

public class Codeforces {

    static FastReader input = new FastReader();
    static final int INF = (int) 1e9 + 20;
    static long xe, ye, d;
    
    public static void main(String[] args) throws NumberFormatException, IOException {
        int t = input.nextInt();
        for(int z=0; z<t; z++){
            int n = input.nextInt();
            String a = input.next();
            String b = input.next();
            boolean valid = true;
            int i = 0; int j=0;
            while(i<a.length() && j<b.length()){
                while(i<a.length() && a.charAt(i) == '.'){
                    i++;
                }
                while(j<b.length() && b.charAt(j) == '.'){
                    j++;
                }
                if(i < a.length() && j < b.length() && a.charAt(i) == b.charAt(j)){
                    i++;
                    j++;
                }
                else if(i < a.length() && j < b.length() && a.charAt(i) != b.charAt(j)){
                    valid = false;
                    break;
                }
            }
            while(i<a.length() && a.charAt(i) == '.'){
                    i++;
            }
            while(j<b.length() && b.charAt(j) == '.'){
                j++;
            }
            if(!valid || i< a.length() || j < b.length()){
                System.out.println("no");
            }
            else{
                System.out.println("yes");
            }
        }
    }
    
    static class FastReader {
 
        BufferedReader br;
        StringTokenizer st;
 
        public FastReader() {
            /*try {
             br = new BufferedReader(new FileReader(new File("travel_restrictions_validation_input.txt")));
             } catch (FileNotFoundException e) {
             e.printStackTrace();
             }*/
            br = new BufferedReader(new InputStreamReader(System.in));
        }
 
        String next() throws IOException {
            while (st == null || !st.hasMoreElements()) {
                st = new StringTokenizer(br.readLine());
            }
            return st.nextToken();
        }
 
        int nextInt() throws NumberFormatException, IOException {
            return Integer.parseInt(next());
        }
 
        long nextLong() throws NumberFormatException, IOException {
            return Long.parseLong(next());
        }
 
        double nextDouble() throws NumberFormatException, IOException {
            return Double.parseDouble(next());
        }
 
        String nextLine() throws IOException {
            String str = "";
            str = br.readLine();
            return str;
        }
 
        boolean hasNext() throws IOException {
            return br.ready();
        }
    }
}
Copy
Moving Digits Catwoman
Java 11
92 ms
13.5 MB
Wrong Answer