rt,60pts,纯打表(20内)+找规律
#include<bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
//freopen("sticks.in","r",stdin);
//freopen("sticks.out","w",stdout);
cin>>t;
while(t--)
{
cin>>n;
if(n<2)
{
cout<<"-1\n";
continue;
}
if(n==2)
{
cout<<"1\n";
continue;
}
if(n==3)
{
cout<<"7\n";
continue;
}
if(n==4)
{
cout<<"4\n";
continue;
}
if(n==5)
{
cout<<"2\n";
continue;
}
if(n==6)
{
cout<<"6\n";
continue;
}
if(n==7)
{
cout<<"8\n";
continue;
}
if(n==8)
{
cout<<"10\n";
continue;
}
if(n==9)
{
cout<<"18\n";
continue;
}
if(n==10)
{
cout<<"22\n";
continue;
}
if(n==11)
{
cout<<"20\n";
continue;
}
if(n==12)
{
cout<<"28\n";
continue;
}
if(n==13)
{
cout<<"68\n";
continue;
}
if(n==14)
{
cout<<"88\n";
continue;
}
if(n==15)
{
cout<<"108\n";
continue;
}
if(n==16)
{
cout<<"188\n";
continue;
}
if(n==17)
{
cout<<"228\n";
continue;
}
if(n==18)
{
cout<<"208\n";
continue;
}
if(n==19)
{
cout<<"288\n";
continue;
}
if(n==20)
{
cout<<"688\n";
continue;
}
if(n%7==0)
{
n/=7;
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==1)
{
n--;
n/=7;
n--;
cout<<"10";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==2)
{
n-=2;
n/=7;
cout<<"1";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==3)
{
n-=3;
n/=7;
cout<<"7";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==4)
{
n-=4;
n/=7;
cout<<"4";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==5)
{
n-=5;
n/=7;
cout<<"2";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
if(n%7==6)
{
n-=6;
n/=7;
cout<<"6";
while(n--)cout<<"8";
cout<<"\n";
continue;
}
}
fclose(stdin);
fclose(stdout);
return 0;
}