求助大佬
  • 板块题目总版
  • 楼主Episode33_
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/7 21:55
  • 上次更新2024/3/8 13:08:52
查看原帖
求助大佬
1281118
Episode33_楼主2024/3/7 21:55

被题目某个测试点卡住了,大佬们看看! 题目: 代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, temp = 0, err = 0;
    cin >> n;
    vector<string> array;
    for (int i = 0; i < n; i++)
    {
        string s;
        cin >> s;
        array.push_back(s);
    }
    for (int l = 0; l < n; l++)
    {
        for (int i = 0; i < 17; i++)
        {
            if (array[l][i] < 48 || array[l][i] > 57)
                err++;
        }
        if (err != 0)
        {
            cout << array[l] << endl;
            temp++;
            continue;
        }
        int sum = 0;
        for (int i = 0; i < 17; i++)
        {
            int a;
            switch (i)
            {
            case 0:a = 7;
                break;
            case 1:a = 9;
                break;
            case 2:a = 10;
                break;
            case 3:a = 5;
                break;
            case 4:a = 8;
                break;
            case 5:a = 4;
                break;
            case 6:a = 2;
                break;
            case 7:a = 1;
                break;
            case 8:a = 6;
                break;
            case 9:a = 3;
                break;
            case 10:a = 7;
                break;
            case 11:a = 9;
                break;
            case 12:a = 10;
                break;
            case 13:a = 5;
                break;
            case 14:a = 8;
                break;
            case 15:a = 4;
                break;
            case 16:a = 2;
            }
                sum += (array[l][i] - 48) * a;
        }
        int z = sum % 11;
        for (int j = 0, k = 1; j <= 10; k--, j++)
        {
            if (k < 0)
                k = 10;
            if (z == j)
            {
                if ((array[l][17] == 'X' && k != 10) || array[l][17] - 48 != k)
                {
                    cout << array[l] << endl;
                    temp++;
                    break;
                }
            }
        }
    }
    if (temp == 0)
        cout << "All passed";
    return 0;
}

非常感谢!!

2024/3/7 21:55
加载中...