题解 P7840 【「PMOI-4」人赢】

· · 题解

题目传送门

Description :

Solution :

Code:

#include <cstdio>
typedef long long ll;
inline void in(ll &x) {
    x=0;
    ll f=1;
    char ch=getchar();
    while (ch<'0'||ch>'9') {
        if (ch=='-') f=-1;
        ch=getchar();
    }
    while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
    x*=f;
}
inline void out(ll x) {
    if (x<0) putchar('-'),x=-x;
    if (x>9) out(x/10);
    putchar(x%10+'0');
}
ll n,m,k,a[100005],st,ed,len,ans[1000005],x;
int main() {
    in(a[1]),in(a[2]),in(k);
    for (int i=3; i<=k; ++i) {
        a[i]=(a[i-1]*a[i-2])%10;
        for (int j=2; j<i; ++j) {
            if (a[j]==a[i]&&a[j-1]==a[i-1]) {
                st=j-1;
                ed=i-2;
                break;
            }
        }
        if (st) break;
    }
    if (!st) out(a[k]);
    else {
        len=ed-st+1;
        for (int i=1,p=st; i<len; ++i,++p) ans[i]=a[p];
        ans[0]=a[ed];
        x=(k-st+1)%len;
        out(ans[x]);
    }
    return 0;
}