国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

qduoj 30 帥氣的HYC求乘積(dfs)

2019-11-06 06:07:04
字體:
來源:轉載
供稿:網友

題目地址:點擊打開鏈接

思路:因為數據量比較小,直接搜索枚舉放乘號的位置就行。

注意枚舉到最后一位數字后別忘了記錄下來。

代碼:

#include<iostream>#include<cstdio>#include<cstring>using namespace std;typedef long long ll;ll rec[10], ans;int num[25], n, k;bool book[25];void dfs(int cur, ll PRe, int cnt){    if(cnt == k+1 && cur == n+1)    {        ll tmp = 1;        for(int i = 1; i <= k+1; i++)            tmp *= rec[i];        ans = max(ans, tmp);        return ;    }    if(cur > n) return ;    //最后一位不能放    if(cur < n)    {        rec[cnt] = pre*10+num[cur];        dfs(cur+1, 0, cnt+1);    }    //到最后了別忘了要記錄最后個數    if(cur == n) rec[cnt] = pre*10+num[cur];    dfs(cur+1, pre*10+num[cur], cnt);}int main(void){    while(cin >> n >> k)    {        for(int i = 1; i <= n; i++)        {            char ch;            scanf(" %c", &ch);            num[i] = ch-'0';        }        ans = 0;        dfs(1, 0, 1);        printf("%lld/n", ans);    }    return 0;}

帥氣的HYC求乘積

發布時間: 2015年11月1日 17:02   最后更新: 2015年11月1日 18:38   時間限制: 1000ms   內存限制: 128M

帥氣的HYC餓了,于是他定了外賣,但是去拿外賣時卻忘了帶錢,這可怎么辦?于是外賣小哥對他說,我也不為難你,我給你出個題,你要做出來就送你一份免費午餐。題目是這樣的:

設有一個長度N的數字串,要求你使用K個乘號將它分成K+1個部分,找出一種分法,使得這K+1個部分的乘積能夠為最大例如:有一個數字串: 312,當N=3,K=1時會有以下兩種分法:1)3*12=362)31*2=62這時,符合題目要求的結果是: 31*2=62

多組測試數據,EOF結束第一行共有2個自然數N,K (1<=N<=19,0<=K<=5)第二行是一個長度為N的數字串。

結果輸出到文件,相對于輸入,應輸出所求得的最大乘積(一個自然數)

4 2 1231
62
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 花垣县| 登封市| 呼伦贝尔市| 阿勒泰市| 荥阳市| 湘阴县| 昭平县| 康平县| 绥滨县| 太仆寺旗| 黎平县| 红安县| 张北县| 福清市| 报价| 新兴县| 池州市| 上高县| 游戏| 通辽市| 铁力市| 洪湖市| 富阳市| 克东县| 伊金霍洛旗| 木兰县| 兴隆县| 恭城| 买车| 浮梁县| 会宁县| 丹巴县| 厦门市| 绥德县| 错那县| 横峰县| 海宁市| 玛多县| 乌鲁木齐市| 石河子市| 高淳县|