PKU 1702 Eva's Balance

http://poj.org/problem?id=1702
ある重さが与えられる。
これと3の累乗で表される重りを使って天秤を傾かないようにするための重りの配置を答えろというような問題。

3進数的に考えました。

main(){
  int T;
  cin>>T;
  while(T--){
    ll in;
    cin>>in;
    vector<ll> right,left;
    ll n=1;
    while(in){
      switch(in%3){
      case 1:
        right.pb(n);
        break;
      case 2:
        left.pb(n);
        in+=1;
        break;
      }
      in/=3;
      n*=3;
    }
    if(left.empty())cout<<"empty";
    else{
      rep(i,SZ(left)){
        if(i)cout<<',';
        cout<<left[i];
      }
    }
    cout<<' ';
    if(right.empty())cout<<"empty";
    else{
      rep(i,SZ(right)){
        if(i)cout<<',';
        cout<<right[i];
      }
    }
    cout<<endl;
  }
}