社区讨论
赛时60,赛后写一遍成10了[T-T]
P11229[CSP-J 2024] 小木棍参与者 6已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @m3yf0kkx
- 此快照首次捕获于
- 2024/11/26 20:10 去年
- 此快照最后确认于
- 2025/11/04 13:52 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
int x=0,F=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
F=-1;
ch=getchar();
}
while(ch>='0' && ch<='9')
x=x*10+ch-'0',ch=getchar();
return x*F;
}
void write(int x)
{
if(x<0)
putchar('-'),x=-x;
if(x>9)
write(x/10);
putchar(x%10+'0');
return;
}
const int N=1E3;
int sticks[N+5]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6}, pre[N+5];
void work(int n)
{
if(n==1)
{
write(-1), putchar(10);
return;
}
write(pre[n]);
while(n>7*3)
{
n-=7, write(8);
}
putchar(10);
}
signed main(){
//天才CuteQiQi
for(int i=1; i<N; ++i)
{
if(i>9)
{
sticks[i]=sticks[i/10]+sticks[i%10];
}
if(not pre[sticks[i]])
{
pre[sticks[i]]=i;
}
}
for(int t=read(); t; --t)
{
work(read());
}
return 0;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...