1103. Integer Factorization (30) PAT 甲级
2017-02-21 14:27
351 查看
传送门
#include<stdio.h> #include<vector> #include<algorithm> #include<math.h> #include<stdlib.h> using namespace std; vector<int> v,fac,ans; int n,k,p; int maxfacnum=-1; void init(){ int i=0; int temp=0; while(temp<=n){ v.push_back(temp); temp=pow(++i,p); } } void DFS(int index,int nowK,int sum,int facSum){ if(nowK==k&&sum==n){ if(facSum>maxfacnum){ ans=fac; maxfacnum=facSum; } return ; } if(sum>n||nowK>k) return ; if(index>=1){ fac.push_back(index); DFS(index,nowK+1,sum+v[index],facSum+index); fac.pop_back(); DFS(index-1,nowK,sum,facSum); } } int main(){ scanf("%d%d%d",&n,&k,&p); init(); DFS(v.size()-1,0,0,0); if(maxfacnum==-1){ printf("Impossible"); } else{ printf("%d = %d^%d",n,ans[0],p); for(int i=1;i<ans.size();i++){ printf(" + %d^%d",ans[i],p); } } }
相关文章推荐
- PAT - 甲级 - 1072. Gas Station (30)(Dijkstra)
- 1030. Travel Plan (30)-PAT甲级真题
- PAT甲题题解-1107. Social Clusters (30)-PAT甲级真题(并查集)
- pat 甲级 1022. Digital Library (30)
- PAT 甲级 1045. Favorite Color Stripe (30)
- PAT 甲级 1068. Find More Coins (30)
- PAT 甲级 1087. All Roads Lead to Rome (30)
- PAT 甲级 1123. Is It a Complete AVL Tree (30)
- 【PAT甲级】1004. Counting Leaves (30)
- PAT - 甲级 - 1022. Digital Library (30)(STL-map,set)
- 1045. Favorite Color Stripe (30)-PAT甲级真题
- PAT甲级 1115. Counting Nodes in a BST (30)
- PAT甲级 1139. First Contact (30)
- PAT 甲级 1018. Public Bike Management (30)
- PAT甲级1030. Travel Plan (30)
- PAT甲级练习题A1018. Public Bike Management (30)
- pat甲级1026. Table Tennis (30)
- PAT甲级练习题A1022. Digital Library (30)
- PAT 甲级 1107. Social Clusters (30)
- PAT 1131. Subway Map (30) -甲级