社区讨论

0分求助

P11229[CSP-J 2024] 小木棍参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m303sgql
此快照首次捕获于
2024/11/02 19:52
去年
此快照最后确认于
2025/11/04 15:30
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int sticknum[10]={6,2,5,5,4,5,6,3,7,6},len;

void slove(int pos,int n)
{
	if(pos==0)return;
		int dx=0;
		if(len==pos)
		{
			dx=1;
		}
		for(int i=dx;i<10;i++)
			{
				if((n-sticknum[i])>=2*(pos-1)&&(n-sticknum[i])<=7*(pos-1))
				{
					cout<<i;
					slove(pos-1,n-sticknum[i]);
					break;
				}
			}
}
int main()
{
	int T,n;
	cin>>T;
	while(T--)
	{
		cin>>n;
		if(n<2) cout<<-1<<"\n";
		else if(n>=2&&n<=7)
		{
			for(int i=1;i<10;i++)
			{
				if(sticknum[i]==n)
				{
					cout<<i<<"\n";
					break;
				}
			}
		}
		else 
		{
			len=(n+6)/7;
			slove(len,n);
		}
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...