10460 2024. 04. 02 23:21:29 111 Fibonacci Sequences cpp17 Elfogadva 100/100 188ms 19436 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

vector<int>f,v,F;

map<int,int>m;

void solve(int x,int i,int c,int d){
	if(x>1000000000){
		return;
	}
	if(d){
		int ans=1;
		v.push_back(c);
		int dd=d;
		for(int j:v){
			int y=1,z=1;
			for(int k=1;k<=j;k++){
				y*=dd-k+1;
				y/=k;
			}
			ans*=y/z;
			dd-=j;
		}
		m[x]+=ans;
		v.pop_back();
	}
	for(int j=i;j<f.size();j++){
		if(j==i){
			solve(x*f[j],j,c+1,d+1);
		}
		else{
			v.push_back(c);
			solve(x*f[j],j,1,d+1);
			v.pop_back();
		}
	}
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	f.push_back(1);
	f.push_back(2);
	F.push_back(1);
	for(int i=0;i<42;i++){
		f.push_back(*--f.end()+*----f.end());
		F.push_back(F.back()*(i+1));
	}
	solve(1,1,0,0);
	int T;
	cin>>T;
	while(T--){
		int M;
		cin>>M;
		cout<<m[M]<<'\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 119ms 11604 KiB
2 Elfogadva 118ms 12120 KiB
subtask2 25/25
3 Elfogadva 118ms 12072 KiB
4 Elfogadva 118ms 12528 KiB
5 Elfogadva 118ms 12340 KiB
6 Elfogadva 119ms 12584 KiB
subtask3 25/25
7 Elfogadva 118ms 12696 KiB
8 Elfogadva 118ms 12776 KiB
9 Elfogadva 118ms 12664 KiB
10 Elfogadva 118ms 12656 KiB
subtask4 25/25
11 Elfogadva 173ms 18836 KiB
12 Elfogadva 173ms 18808 KiB
subtask5 25/25
13 Elfogadva 188ms 19260 KiB
14 Elfogadva 186ms 19436 KiB