結果
| 問題 |
No.392 2分木をたどれ
|
| コンテスト | |
| ユーザー |
Takeno_hito
|
| 提出日時 | 2017-09-30 17:15:55 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 630 bytes |
| コンパイル時間 | 545 ms |
| コンパイル使用メモリ | 73,408 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-15 20:55:29 |
| 合計ジャッジ時間 | 914 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 WA * 2 |
ソースコード
#include <iostream>
#include <random>
#include <algorithm>
#define INF 1000000000
using namespace std;
// #define int long long
signed main(){
int D[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096};
int M;
cin >> M;
int A;
for(int i=0;i<M;i++){
cin >> A;
int c=0,j=1;
while(c<=A){
c+=D[j];
j++;
}
j--;
c-=D[j];
A-=c; // Aが j 行目においての左からの番号になる。ハズ。
if(A==0){A=D[j+1];j--;}
else A--;
for(int k=j;k>0;k--){
if(A/D[k-1]){
cout << "R";
A-=D[k-1];
}
else cout << "L";
}
cout << endl;
}
}
Takeno_hito