祝福大家教师节快乐!请收下我的礼物!
查看原帖
祝福大家教师节快乐!请收下我的礼物!
533423
Gabriella楼主2021/9/10 11:58

附送贺卡:为什么只有 30 分? 礼物主体:

#include <iostream>
#include <vector>
using namespace std;
int t[1005];
vector<int> v;
vector<int> v1;
int main() {
    int n, m, k;
    cin >> n >> m >> k;
    if (k == 1) {
        cout << n % 10;
        return 0;
    }
    if (k == 2) {
        cout << m % 10;
        return 0;
    }
    int flag;
    int a = n % 10, b = m % 10, c;
    v.push_back(a), v.push_back(b);
    for (int i = 3; i <= k; i++) {
        if (t[a * 10 + b] != 0) {
            flag = a * 10 + b;
            goto here;
        }
        c = a * b % 10;
        if (c == 0)
        {
            cout << 0;
            return 0;
        }
        t[a * 10 + b] = i;
        v.push_back(c);
        a = b;
        b = c;
    }
    cout << c;
    return 0;
here:
    int aa = n % 10, bb = m % 10, cc, f;
    for (int i = 1; ; i++) {
        cc = aa * bb % 10;
        if (aa * 10 + bb == flag) {
            f = i - 1;
            break;
        }
        aa = bb;
        bb = cc;
    }
    v.pop_back();
    for (int i = f; i < v.size() - 1; i++)
        v1.push_back(v[i]);
    cout << v1[(k - 1 - f) % v1.size()];
    return 0;
}

花花绿绿的鲜花: https://www.luogu.com.cn/record/57753007

2021/9/10 11:58
加载中...