记录编号 606373 评测结果 AAAAAAAAAA
题目名称 3931.[CSP 2023S]密码锁 最终得分 100
用户昵称 Gravatar金牌教师王艳芳 是否通过 通过
代码语言 C++ 运行时间 0.061 s
提交时间 2025-09-24 22:08:12 内存使用 3.70 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;

int n, a[10][5], ans;

bool ok(int p[]) {
    for (int i = 0; i < n; i++) {
        int d[5], c = 0;
        for (int j = 0; j < 5; j++) {
            d[j] = (a[i][j] - p[j] + 10) % 10;
            if (d[j]) c++;
        }
        if (c == 0) return false;
        if (c == 1) continue;
        if (c == 2) {
            bool f = false;
            for (int j = 0; j < 4; j++)
                if (d[j] && d[j+1] && d[j] == d[j+1]) {
                    if (!d[(j+2)%5] && !d[(j+3)%5] && !d[(j+4)%5])
                        f = true;
                }
            if (f) continue;
            return false;
        }
        return false;
    }
    return true;
}

int main() {
    freopen("lock.in", "r", stdin);
    freopen("lock.out", "w", stdout);
    cin >> n;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < 5; j++)
            cin >> a[i][j];
    int p[5];
    for (p[0]=0; p[0]<10; p[0]++)
    for (p[1]=0; p[1]<10; p[1]++)
    for (p[2]=0; p[2]<10; p[2]++)
    for (p[3]=0; p[3]<10; p[3]++)
    for (p[4]=0; p[4]<10; p[4]++)
        if (ok(p)) ans++;
    cout << ans << endl;
    return 0;
}