Editorial for Bedao Grand Contest 08 - MAGAME


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

Code mẫu

/*
•   Để biết được người chiến thắng ta chỉ cần quan tâm đến
    tính chất lẻ của X = tổng số lượt xóa của 2 người chơi khi cả 2 đều chơi tối ưu.
•   Ok, đối với bài này, muốn biết tính chẵn lẻ của X ta chỉ cần quan tâm đến tính chẵn lẻ của xâu ban đầu (S)
    và xâu kết thúc trò chơi (P) vì X = |S| – |P| (chẵn – lẻ = lẻ - chẵn = lẻ và chẵn – chẵn = lẻ -lẻ = chẵn)
•   Nhận xét 1: chuỗi P là chuối kết thúc cuối cùng lượt chơi nên chắc chắn có dạng abab…ab hoặc abab…aba
    (a và b chỉ là kí tự mẫu thôi nhé xD).
•   Nhận xét 2: vì kí tự hai đầu của chuỗi S không bị xóa nên chuỗi P có dạng S[1]….S[n]
        + Nếu S[1] = S[n] --> P có dạng abab…aba --> |P| lẻ.
        + Nếu S[1] <> S[n] --> P có dạng abab…ab --> |P| chẵn.

Vậy là ta đã có tính chẵn lẻ của |S| và |P| rồi :D bây giờ xét điều kiện để biết ai là người thắng cuộc thôi nào :D

*/
#include <bits/stdc++.h>
using namespace std;
#define tag "MAGAME"
#define checkfile(FiLeNaMe) { if(fopen(FiLeNaMe".inp","r")) freopen(FiLeNaMe".inp","r",stdin),freopen(FiLeNaMe".out","w",stdout); }
///>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
int n,m;
string s;


void enter(){
    cin>>s;
    n=s.size();
}

void solve(){
    cout<<(n%2 - (s[0]==s[n-1]) != 0)<<"\n";
}

int main()
{
    checkfile(tag);
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    enter();
    solve();

    return 0;
}

Comments

Please read the guidelines before commenting.


There are no comments at the moment.