void dfs(int k, int score)
{
int i;
if (k == 11)
{
if (score == full_score)
show();
}

if (check(k, score)) //剪枝操作
{
for (i = 0; i <= 1; i++)
{
if (i == 0) //答案只有两种可能,非输即赢
{
answer[k] = 1;
dfs(k + 1, score * 2); //答题正确,当前分数的两倍
}
else
{
answer[k] = 0;
dfs(k + 1, score - k); //答题错误,扣掉与题号相同的分数
}
}
}
else
dfs(k + 1, score);
}
int main()
{
cin >> full_score;
dfs(1, 10);
}