Tên đăng nhập Điểm ▾ Bài tập Giới thiệu
1791
baolam 1389
Trần Bảo Lâm
23905 231
1792 23903 385
  • XIN CHÀO TÔI LÀ PHAN GIA HƯNG
1793
thaoquyen1709_
Thao Quyen
23900 166

1794 23897 236
#include<bits/stdc++.h>
using namespace std;

#define int long long

const int base1  = 311;
const int base2 = 331;
const int mod1 = 1e9 + 7;
const int mod2 = 1e9 + 9;

int mul(int a, int b)
{
    if(b == 0)
        return 1;
    if(b == 1)
        return a;
    int x = mul(a, b / 2);
    x = x * x;
    if(b % 2 == 0)
        return x;
    return x * a;
}
main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int Test;   Test = 1;
    while(Test--)
    {
        int n;  cin >> n;
        string _ = "";
        while(n--)
        {
            string s;   cin >> s;
            int kt = -1;
            int h1 = 0, h2 = 0, h3 = 0, h4 = 0;
            //cout << s << '\n';
            for(int i = 0 ; i < min(s.size(), _.size()) ; i++)
            {
                h1 = h1 * base1 + (s[i] - 'a' + 1);
                h2 = h2 + (_[_.size() - i - 1] - 'a' + 1) * mul(base1, i);
                //cout << i << ' ' << h1 << ' ' << h2 << '\n';
                if(h1 == h2)
                {
                    kt = i;
                }
            }   
            //cout << kt << ' ' << _ << '\n';
            for(int i = kt + 1 ; i < s.size() ; i++)
                _.push_back(s[i]);
        }       
        cout << _;
    }
}
1795 22977 117
1796 23887 41
1797 23886 225
1798 23867 194
1799
n4minhntk 1262
Nguyễn Thị Khánh Minh
23862 405
1800 23858 43