1794A - Prefix and Suffix Array - CodeForces Solution


strings

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>

using namespace std;

#pragma GCC optimize("-Ofast")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-funroll-all-loops,-fpeel-loops,-funswitch-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,popcnt,abm,mmx,avx2,tune=native")

#define ll long long
#define IO ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);

const int N = 2e6 + 5, M = 1e2 + 5;
const double PI = acos(-1), EPS = 1e-6;
const int dx[8] = {0, 0, 1, -1, 1, 1, -1, -1};
const int dy[8] = {1, -1, 0, 0, 1, -1, 1, -1};
const long long MOD = 1e9 + 7, MOD2 = 998244353, OO = 1e18;

ll t = 1;

void solve()
{
    int n,k=0;
    cin >> n;
    string s1="",s2="";
    for (int i = 0; i < 2*n-2; i++)
    {
        string s;
        cin >> s;
        if (s.size() == n-1 && k == 0) s1 = s,k = 1;
        else if (s.size() == n-1 && k == 1)s2 = s;
    }
    reverse(s2.begin(),s2.end());
    if (s1 == s2)
        cout << "YES\n";
    else cout << "NO\n";    
    return;
}

int main()
{    
    IO

    cin >> t;
    while (t--)
    {
        solve();
    }
    
    return 0;
}

    


Comments

Submit
0 Comments
More Questions

1713B - Optimal Reduction
1710A - Color the Picture
1686B - Odd Subarrays
251A - Points on Line
427C - Checkposts
1159A - A pile of stones
508A - Pasha and Pixels
912A - Tricky Alchemy
1249A - Yet Another Dividing into Teams
1713C - Build Permutation
1699A - The Third Three Number Problem
1617B - GCD Problem
841A - Generous Kefa
1690B - Array Decrements
1692C - Where's the Bishop
104A - Blackjack
1438A - Specific Tastes of Andre
1711C - Color the Picture
1194C - From S To T
110B - Lucky String
1114A - Got Any Grapes
224B - Array
125B - Simple XML
567B - Berland National Library
431B - Shower Line
282C - XOR and OR
1582B - Luntik and Subsequences
609A - Флеш-карты
1207A - There Are Two Types Of Burgers
371C - Hamburgers