Submission #75816094


Source Code Expand

#include <bits/stdc++.h>
#pragma warning(disable:4996)
#pragma comment(linker,"/STACK:336777216")
#pragma GCC optimize("03,unroll-loops")
#pragma GCC target("avx,avx2,fma")

using namespace std;
using ll = long long;
using vl = vector<ll>;
using pll = pair<ll,ll>;

ll POW(ll a,ll b,ll rem) {
    ll p=1;
    a %= rem;
    for (;b;b>>=1,a=(a*a)%rem) {
        if (b&1)p = (p*a)%rem;
    }
    return p;
}

tuple<ll,ll,ll> extended_gcd(ll a,ll b) {
    if (a==0) return {b,0,1};
    auto [g,x,y] = extended_gcd(b%a,a);
    return {g,y-(b/a)*x,x};
}
ll modinverse(ll a ,ll m) {
    return (get<1>(extended_gcd(a,m))%m+m)%m;
}

void pre() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

void pre2() {
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
}

void presolve() {

}

void solve() {
    string str;
    cin>>str;

    vl d(str.size()-1);
    for (int i=1;i<str.size();i++) {
        if (str[i]==str[i-1])d[i-1]=0;
        else d[i-1]=1;
    }

    struct Data{
        ll cnt;
        ll s;
    };
    ll cnt=0,s=0;
    vector<Data> v;
    for (int i=0;i<str.size()-1;i++) {
        if (d[i]==0) {
            v.push_back({cnt,s});
            cnt=0;
        }else {
            if (cnt==0) {
                v.push_back({cnt,s});
                s=str[i]=='S'?1:0;
            }
            cnt++;
        }
    }v.push_back({cnt,s});

    bool flag = false;
    for (int i=0;i<v.size();i++) {
        if (v[i].cnt==0) continue;
        if (v[i].s==1) {
            if (i+2<v.size()&&v[i+2].cnt+v[i].cnt >= 3)flag=true;
            if (i-2>=0&&v[i-2].cnt+v[i].cnt >= 3&&v[i-2].cnt>=2)flag=true;
        }else {
            if (i+2<v.size()&&v[i+2].cnt+v[i].cnt >= 4)flag=true;
            if (i-2>=0&&v[i-2].cnt+v[i].cnt >= 3+((v[i-2].cnt+1)%2))flag=true;
        }
    }

    if (flag)cout<<"Terra\n";
    else if (str.size()%2==0)cout<<"Lulu\n";
    else cout<<"Terra\n";
}

int main() {
    pre();

    presolve();

    ll t=1;
    cin>>t;
    while (t--) solve();
}

Submission Info

Submission Time
Task G - SCSC Game
User kuming19
Language C++23 (GCC 15.2.0)
Score 100
Code Size 2118 Byte
Status AC
Exec Time 6 ms
Memory 9452 KiB

Compile Error

./Main.cpp:2: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
    2 | #pragma warning(disable:4996)
./Main.cpp:3: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
    3 | #pragma comment(linker,"/STACK:336777216")
./Main.cpp: In function 'void solve()':
./Main.cpp:50:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for (int i=1;i<str.size();i++) {
      |                  ~^~~~~~~~~~~
./Main.cpp:61:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |     for (int i=0;i<str.size()-1;i++) {
      |                  ~^~~~~~~~~~~~~
./Main.cpp:75:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<solve()::Data>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   75 |     for (int i=0;i<v.size();i++) {
      |                  ~^~~~~~~~~
./Main.cpp:78:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<solve()::Data>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   78 |             if (i+2<v.size()&&v[i+2].cnt+v[i].cnt >= 3)flag=true;
      |                 ~~~^~~~~~~~~
./Main.cpp:81:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<solve()::Data>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |             if (i+2<v.size()&&v[i+2].cnt+v[i].cnt >= 4)flag=true;
      |                 ~~~^~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 39
Set Name Test Cases
Sample 00-sample-001.txt
All 00-sample-001.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 1 ms 3508 KiB
01-001.txt AC 4 ms 3476 KiB
01-002.txt AC 4 ms 3528 KiB
01-003.txt AC 4 ms 3572 KiB
01-004.txt AC 4 ms 3412 KiB
01-005.txt AC 4 ms 3552 KiB
01-006.txt AC 4 ms 3456 KiB
01-007.txt AC 4 ms 3528 KiB
01-008.txt AC 4 ms 3572 KiB
01-009.txt AC 4 ms 3480 KiB
01-010.txt AC 4 ms 3428 KiB
01-011.txt AC 4 ms 3528 KiB
01-012.txt AC 4 ms 3572 KiB
01-013.txt AC 4 ms 3372 KiB
01-014.txt AC 4 ms 3500 KiB
01-015.txt AC 4 ms 3428 KiB
01-016.txt AC 1 ms 3480 KiB
01-017.txt AC 5 ms 9252 KiB
01-018.txt AC 5 ms 9196 KiB
01-019.txt AC 5 ms 9272 KiB
01-020.txt AC 5 ms 9220 KiB
01-021.txt AC 1 ms 3400 KiB
01-022.txt AC 2 ms 3576 KiB
01-023.txt AC 6 ms 9324 KiB
01-024.txt AC 6 ms 9384 KiB
01-025.txt AC 5 ms 9356 KiB
01-026.txt AC 5 ms 9380 KiB
01-027.txt AC 5 ms 9452 KiB
01-028.txt AC 5 ms 9312 KiB
01-029.txt AC 5 ms 9204 KiB
01-030.txt AC 5 ms 9272 KiB
01-031.txt AC 5 ms 9272 KiB
01-032.txt AC 5 ms 9396 KiB
01-033.txt AC 5 ms 9248 KiB
01-034.txt AC 5 ms 9352 KiB
01-035.txt AC 5 ms 9308 KiB
01-036.txt AC 5 ms 3476 KiB
01-037.txt AC 3 ms 3472 KiB
01-038.txt AC 3 ms 3628 KiB