Wiki1017(乘积最大)
生活随笔
收集整理的這篇文章主要介紹了
Wiki1017(乘积最大)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:http://wikioi.com/problem/1017/
?
#include <iostream> #include <string.h> #include <stdio.h>using namespace std;namespace Multi {const int N = 25;int n,k,ans;char str[N];bool vis[N];void Cal(){int sum = 1;int tmp = 0;for(int i=0;i<n;i++){if(!vis[i])tmp = tmp * 10 + str[i] - '0';else{sum *= tmp;tmp = str[i] - '0';}}sum *= tmp;if(sum > ans) ans = sum;}void dfs(int id,int len){if(len == k){Cal();return;}for(int i=id;i<n;i++){if(!vis[i]){vis[i] = true;dfs(i,len+1);vis[i] = false;}}}void Import(){scanf("%d%d",&n,&k);memset(vis,false,sizeof(vis));scanf("%s",str);}void Work(){ans = 0;dfs(0,0);}void Export(){printf("%d\n",ans);} }int main() {Multi::Import();Multi::Work();Multi::Export();return 0; }?
?
總結
以上是生活随笔為你收集整理的Wiki1017(乘积最大)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU2586(最近公共祖先的Tarja
- 下一篇: Codeforces344_C(数学思维