結果

問題 No.3 ビットすごろく
ユーザー fusen4fusen4
提出日時 2018-01-21 17:28:36
言語 C++11
(gcc 13.3.0)
結果
TLE  
実行時間 -
コード長 898 bytes
コンパイル時間 905 ms
コンパイル使用メモリ 56,792 KB
実行使用メモリ 10,624 KB
最終ジャッジ日時 2024-12-25 21:20:48
合計ジャッジ時間 117,453 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14 TLE * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<algorithm>
using namespace std;

class Sugo{
				private:
								int N;
								int w[10000];
								bool e[10000];
				public:
								Sugo(int n);
								int fanc(int n);
};

Sugo::Sugo(int _N){
				N = _N;
				for(int i = 0; i < N; i++){
								e[i] = false;
				}

				for(int i = 0; i < N; i++){
								int tw = 1,rest = i + 1;
								while(rest != 1){
												if(rest%2) tw++;
												rest /= 2;
								}
								w[i] = tw;
				}
				e[N - 1] = true;
}
int Sugo::fanc(int n){
				int c = 0;
				if(n == 1) return 1;
				for(int i = 0; i < N; i++){
								if(( i + 1 + w[i] == n || i + 1 - w[i] == n )&& !e[i]){
												e[i] = true;
												c += fanc(i + 1) + 1; 
												e[i] = false;
								}
				}
				if(c == 0) return -1;
				else return c;
}


int main(){
				int n;
				cin >> n;
				Sugo t(n);
				cout << t.fanc(n) << endl;
}

0