特殊测试点都AC,其他都WA,咋回事啊
查看原帖
特殊测试点都AC,其他都WA,咋回事啊
1524532
BDMsx楼主2024/10/29 00:13
#include <bits/stdc++.h>
using namespace std;
void solution();
void output_eight(int);
int main()
{
    int T = 0;
    cin >> T;
    for (int i = 0; i < T; i++)
    {
        solution();
    }
    
}
void solution()
{
    int n;
    cin >> n;
    int num7 = n / 7;
    //特殊情况
    if (n < 7)
    {
        switch (n)
        {
        case 0:
            cout << -1;
            break;
        case 1:
            cout << -1;
            break;
        case 2:
            cout << 1;
            break;
        case 3:
            cout << 7;
            break;
        case 4:
            cout << 4;
            break;
        case 5:
            cout << 2;
            break;
        case 6:
            cout << 6;
            break;    
        default:
            break;
        }
        return;
    }
    //普遍情况
    switch (n % 7)
    {
    case 0:
        output_eight(num7);
        break;
    case 1:
        cout << 10;
        output_eight(num7-1);
        break;
    case 2:
        cout << 18;
        output_eight(num7-1);
        break;
    case 3:
        cout << 22;
        output_eight(num7-1);
        break;
    case 4:
        cout << 20;
        output_eight(num7-1);
        break;
    case 5:
        cout << 28;
        output_eight(num7-1);
        break;
    case 6:
        cout << 68;
        output_eight(num7-1);
        break;    
    default:
        break;
    }
}
void output_eight(int numOFeight)
{
    for (int i = 0; i < numOFeight; i++)
        {
            cout << 8;
        }
    cout << endl;
}
2024/10/29 00:13
加载中...