题解:P11229 [CSP-J 2024] 小木棍(民间数据)
思路:
我是先打了个表,然后推出了可以将题意理解为将每个
代码就很好写了(记得特判!):
#include<bits/stdc++.h>
using namespace std;
int T;
int main(){
cin>>T;
while(T--){
int n;
cin>>n;
if(n==1){
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==10){
cout<<"22\n";
continue;
}
int k=n%7;
switch(k){
case 0:{
for(int i=1;i<=n/7;i++)
cout<<8;
break;
}
case 1:{
cout<<10;
for(int i=1;i<=(n-8)/7;i++)
cout<<8;
break;
}
case 2:{
cout<<1;
for(int i=1;i<=(n-2)/7;i++)
cout<<8;
break;
}
case 3:{
cout<<200;
for(int i=1;i<=(n-17)/7;i++)
cout<<8;
break;
}
case 4:{
cout<<20;
for(int i=1;i<=(n-11)/7;i++)
cout<<8;
break;
}
case 5:{
cout<<2;
for(int i=1;i<=(n-5)/7;i++)
cout<<8;
break;
}
case 6:{
cout<<6;
for(int i=1;i<=(n-6)/7;i++)
cout<<8;
break;
}
}
cout<<"\n";
}
return 0;
}
拜拜!祝大家和我一等!