栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1950 Dessert

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1950 Dessert

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 50;char opr2[N];char opr[N];int opn[N];int cnt, n;void dfs(int p, int p2, int m, int sum, int t){    int i, j, tsum;    if(sum == 0 && t == n){        if(cnt < 20){ for(i = 0; i < p; i++){     printf("%d %c ", i+1, opr[i]); } printf("%dn", t);        }        cnt++;        return ;    }    if(t >= n)    return ;    t++;    opr[p] = opr2[p2] = '+';    opn[m] = t;    tsum = sum + t;    dfs(p+1, p2+1, m+1, tsum, t);    opr[p] = opr2[p2] = '-';    opn[m] = t;    tsum = sum - t;    dfs(p+1, p2+1, m+1, tsum, t);    opr[p] = '.';    if(t >= 10)    opn[m-1] = opn[m-1]*100 + t;    else    opn[m-1] = opn[m-1]*10 + t;    j = 0; tsum = opn[0];    for(i = 1; i <= m-1; i++){        if(opr2[j] == '+') tsum += opn[i];        else tsum -= opn[i];        j++;    }    dfs(p+1, p2, m, tsum, t);}int main(){    while(~scanf("%d", &n)){        memset(opr, 0, sizeof(opr));        memset(opr2, 0, sizeof(opr2));        memset(opn, 0, sizeof(opn));        cnt = 0; opn[0] = 1;        dfs(0, 0, 1, 1, 1);        printf("%dn", cnt);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号