結果

問題 No.294 SuperFizzBuzz
ユーザー chakku
提出日時 2016-03-30 02:41:42
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,593 bytes
コンパイル時間 451 ms
コンパイル使用メモリ 61,736 KB
最終ジャッジ日時 2024-11-14 19:36:05
合計ジャッジ時間 860 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:68:19: error: ‘pow’ was not declared in this scope
   68 |     for(int i=1;i<pow(2,digit);i+=2){
      |                   ^~~

ソースコード

diff #
プレゼンテーションモードにする

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <queue>
#include <climits>
#include <cassert>
using namespace std;
#define REP(i,n) for(int i=0;i<n;i++)
#define INF INT_MAX/3
#define MP make_pair
#define PB push_back
#define ALL(v) (v).begin(),(v).end()
typedef long long ll;
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
ll C[30][30];
ll dig[30];
void comb(){
REP(i,30) C[i][i] = 1;
REP(i,30) C[i][0] = 1;
for(int i=1;i<30;i++){
for(int j=1;j<i;j++){
C[i][j] = C[i-1][j-1] + C[i-1][j];
}
}
}
int one(int n){
int cnt=0;
while(n>0){
if(n%2) cnt++;
n >>= 1;
}
return cnt;
}
int main(){
ll N;
cin >> N;
comb();
for(int i=3;i<30;i++){
for(int j=2;j<i;j+=3){
dig[i] += C[i-1][j];
}
}
int digit = 0;
ll sum = 0;
for(int i=3;i<30;i++){
sum += dig[i];
digit = i;
if(sum>=N) break;
}
N = N - (sum - dig[digit]);
int cnt = 0;
for(int i=1;i<pow(2,digit);i+=2){
assert(i%2==1);
int o = one(i);
if(o%3!=0) continue;
cnt++;
if(cnt==N){
int n = i;
string ans = "";
while(n>0){
if(n%2==0) ans+="3";
else ans += "5";
n>>=1;
}
string l = string(digit-ans.length(),'3');
reverse(ALL(ans));
cout << l << ans << endl;
return 0;
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0