不至于吧
查看原帖
不至于吧
658786
STUDENT00楼主2022/10/24 22:07

写了个深搜+剪枝,结果全屏TLE。。。

#include<bits/stdc++.h>
using namespace std;
int n,m;
long long ans,t[110];
void dfs(int now,int gcd){
	if(gcd==1){
		ans+=t[n-now+1];
		return;
	}
	if(now>n) return;
	for(int i=1;i<=m;i++) dfs(now+1,__gcd(gcd,i));
}
int main(){
	scanf("%d%d",&n,&m);
	if(m==1){
		printf("1");
		return 0;
	}
	t[0]=1;
	for(int i=1;i<=n;i++) t[i]=t[i-1]*m;
	dfs(1,m);
	printf("%lld",ans);
	return 0;
}
2022/10/24 22:07
加载中...