40分,后三点TLE,求调
查看原帖
40分,后三点TLE,求调
1127615
yangcenyou楼主2024/5/27 21:23
#include <bits/stdc++.h>
using namespace std;
long long fib(int c,int d){
	int f[114154];
	f[0]=1;
	f[1]=c;
	for(int i=2;i<=d+1;i++) f[i]=f[i-1]+f[i-2];
	return f[d+1];
}
void solve(){
	vector<pair<int,int> >ans;
	long long a,b;
	cin>>a;
	cout<<2<<' '<<a<<'\n';
	for(int i=1;i<=a;i++){
		for(int j=1;j<=50;j++){
			if(fib(i,j)==a)  ans.push_back(make_pair(j+2,i));
		}
	}
	sort(ans.begin(),ans.end());
	for(int i=0;i<ans.size();i++) cout<<ans[i].first<<' '<<ans[i].second<<'\n';
}
int main(){
	int t;
	cin>>t;
	while(t--) solve();
	return 0;
}
2024/5/27 21:23
加载中...