#include <bits/stdc++.h>
using namespace std;
int a[5]={1,3,9,27,81};
int x;
vector<int>v1;
vector<int>v2;
bool flag=false;
void dfs(int i,int left,int right)
{
if(flag)
{
return;
}
if(i==5)
{
if(left+x==right)
{
cout <<"左盘;";
for(auto i:v1)
{
cout <<i<<" ";
}
cout <<endl;
cout <<"右盘;";
for(auto i:v2)
{
cout <<i<<" ";
}
cout <<endl;
return;
}
if(left-x==right)
{
cout <<"左盘;";
for(auto i:v1)
{
cout <<i<<" ";
}
cout <<endl;
cout <<"右盘;";
for(auto i:v2)
{
cout <<i<<" ";
}
cout <<endl;
return;
}
return ;
}
dfs(i+1,left,right);
v1.push_back(a[i]);
dfs(i+1,left+a[i],right);
v1.pop_back();
v2.push_back(a[i]);
dfs(i+1,left,right+a[i]);
v2.pop_back();
}
int main(void)
{
cin>>x;
dfs(0,0,0);
return 0;
}
C++-砝码盘(蓝桥杯)
最新推荐文章于 2024-02-27 15:26:18 发布