请问这个想法是不是只能拿性质A的点,或者有没有改进
查看原帖
请问这个想法是不是只能拿性质A的点,或者有没有改进
758985
kunkun127楼主2024/10/27 08:58

提交记录

#include <bits/stdc++.h>
using namespace std;

// 0 1 2 3 4 5 6 7 8 9
// 6 2 5 5 4 5 6 3 7 6

string solve(int n)
{
    string ans = "";
    if (n < 2) return "-1";
    if (n == 2) return "1";
    if (n == 3) return "7";
    if (n == 4) return "4";
    if (n == 5) return "2";
    if (n == 6) return "6";
    if (n % 7 == 0)
    {
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 1)
    {
        ans += "16";
        n -= 8;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 2)
    {
        ans += "1";
        n -= 2;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 3)
    {
        ans += "23";
        n -= 10;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 4)
    {
        ans += "20";
        n -= 11;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 5)
    {
        ans += "2";
        n -= 5;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    else if (n % 7 == 6)
    {
        ans += "6";
        n -= 6;
        for (int i = 1; i <= n / 7; i++) ans += '8';
    }
    return ans;
}

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        cout << solve(n) << endl;
    }
    return 0;
}
2024/10/27 08:58
加载中...