#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
using namespace std;
int num[20],n;
void init()
{
num[0]=1;
for(int i=1;i<=19;i++)
num[i]=num[i-1]*3;
}
void solve()
{
queue<int> a,b;
int i=0;
while(n)
{
if(n%3==1)
b.push(i);
else if(n%3==2)
{
a.push(i);
n+=1;
}
n/=3;
i++;
}
if(a.size()==0)
printf("empty");
else
{
while(a.size()>1)
{
printf("%d,",num[a.front()]);
a.pop();
}
printf("%d",num[a.front()]);
a.pop();
}
printf(" ");
if(b.size()==0)
printf("empty\n");
else
{
while(b.size()>1)
{
printf("%d,",num[b.front()]);
b.pop();
}
printf("%d\n",num[b.front()]);
b.pop();
}
}
int main()
{
int t;
init();
scanf("%d",&t);
while(t--&&scanf("%d",&n)!=EOF)
solve();
return 0;
}
poj 1702 模拟
最新推荐文章于 2018-05-05 17:21:00 发布