Advertisement
Saleh127

UVA 1213/Live ar 3619

May 3rd, 2021
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5. #define maX 10008
  6. bool marked[maX+2];
  7. vector<ll>p;
  8. void sieve()
  9. {
  10. ll i,j,k,l;
  11. for(i=2;i<=5000;i++)
  12. {
  13. k=0;
  14. for(j=2;j*j<=i;j++)
  15. {
  16. if(i%j==0)
  17. {
  18. k=1;
  19. break;
  20. }
  21. }
  22. if(!k) p.push_back(i);
  23. }
  24. }
  25. int main()
  26. {
  27. ios_base::sync_with_stdio(0);
  28. cin.tie(0);cout.tie(0);
  29.  
  30. sieve();
  31.  
  32.  
  33. ll dp[2000][20];
  34. memset(dp,0,sizeof dp);
  35.  
  36. ll i,j,k,l,n,m;
  37.  
  38. dp[0][0]=1;
  39.  
  40. for(i=0;i<p.size();i++)
  41. {
  42. for(j=1120;j>=p[i];j--)
  43. {
  44. for(k=15;k>=1;k--)
  45. {
  46. dp[j][k]+=dp[j-p[i]][k-1];
  47. }
  48. }
  49. }
  50.  
  51. while(cin>>n>>m)
  52. {
  53. if(n+m==0) break;
  54.  
  55. cout<<dp[n][m]<<endl;
  56. }
  57.  
  58.  
  59. return 0;
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement