HDU 4228 Flooring Tiles 反素数

来源:互联网 发布:mysql 增加临时表空间 编辑:程序博客网 时间:2024/06/05 16:51

推出了结论,万万没想到最后用搜索。。

还想dp来着。。

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <math.h>#include <set>#include <vector>#include <map>using namespace std;#define ll long long#define N 1000005ll prime[N],primenum;//有primenum个素数 math.hvoid PRIME(ll Max_Prime){primenum=0;prime[primenum++]=2;for(ll i=3;i<=Max_Prime;i+=2)for(ll j=0;j<primenum;j++)if(i%prime[j]==0)break;else if(prime[j]>sqrt((double)i) || j==primenum-1){prime[primenum++]=i;break;}}ll n, ans, sum;void dfs(ll a,ll s, ll t, ll l){if(s>n<<1)return ;if(s==2*n || s==2*n-1){ans = min(ans, a);return ;}if(t>20)return;for(ll i = 1; i <= l; i++) {a *= prime[t];dfs(a,s*(i+1), t+1,i);}}int main(){ll i,j,u,v;PRIME(100);while(cin>>n, n) {ans = 1e18;dfs(1,1,0,60);cout<<ans<<endl;}return 0;}


0 0
原创粉丝点击