记录编号 34343 评测结果 AAAAAAAAAA
题目名称 乘法问题 最终得分 100
用户昵称 GravatarQhelDIV 是否通过 通过
代码语言 C++ 运行时间 0.005 s
提交时间 2011-12-11 10:11:59 内存使用 0.32 MiB
显示代码纯文本
  1. #include <fstream>
  2. #include <string>
  3. using namespace std;
  4. ifstream fin("chf.in");
  5. ofstream fout("chf.out");
  6.  
  7. int n,K;
  8. long long Number,f[41][31],Max;
  9. string S,cc;
  10. long long figure(int St,int En)
  11. {
  12. int i;
  13. long long re=S[St]-'0';
  14. for(i=St+1;i<=En;i++)
  15. re=re*10+S[i]-'0';
  16. return re;
  17. }
  18.  
  19. int main()
  20. {
  21. fin>>n>>K;
  22. int End,i,j,k;
  23. fin>>cc;
  24. S+=" "+cc;
  25. f[1][0]=figure(1,1);
  26. for(i=2;i<=n;i++)
  27. {
  28. f[i][0]=figure(1,i);
  29. End=(i-1>K?K:i-1);
  30. for(j=1;j<=End;j++)
  31. {
  32. Max=f[i-1][j];
  33. for(k=1;k<i;k++)
  34. {
  35. Number=figure(k+1,i)*f[k][j-1];
  36. if(Number>Max)
  37. Max=Number;
  38. }
  39. f[i][j]=Max;
  40. }
  41. }
  42. fout<<f[n][K]<<endl;
  43. fin.close();
  44. fout.close();
  45. return 0;
  46. }