在比赛时打表打的有问题,所以
100 AC-->60 WA
求调
Q_Q
#include<bits/stdc++.h>
using namespace std;
int l=INT_MAX;
vector<int> v={6, 2, 5,5,4,5,6, 3, 7, 6 };
vector<int> w={l, l, 1,7,4,2,6,-2, -2,-2};
vector<int> g={-1,-1,1,7,4,2,6, 8, 10,18};
int main()
{
int t; cin>>t;
while(t--)
{
int n; cin>>n;
if(n==1)
cout<<"-1\n";
else if(n%7==0)
{
for(int x=0;x<n/7;x++)
cout<<"8";
cout<<'\n';
}
else if(n<=10)
cout<<g[n]<<'\n';
else
{
int m=n%7,k=floor(n/7);
string s;
for(int x=1;x<k;x++)
s+="8";
if(w[m]>w[m+1] && v[m+1]!=-2)
{
s+="0";
m++;
}
else s+="8";
s.push_back(w[m]+'0');
reverse(begin(s),end(s));
cout<<s<<'\n';
}
}
return 0;
}