| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖, 1 人收藏
标题:请教:这程序是如何运行的,能详细说明一下吗。
取消只看楼主 加入收藏
love04520
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2017-6-25
结帖率:66.67%
收藏(1)
已结贴  问题点数:20 回复次数:2 
请教:这程序是如何运行的,能详细说明一下吗。
#include <stdio.h>
int ans , n , m , K;
char s[20];
int Max(int a,int b){
    return a > b ? a : b;
}
int Min(int a,int b){
    return a < b ? a : b;
}

void dfs(int c,int gt,int num1,int num2){
    if(c == n){
        ans = Max(ans , Max(num1,num2) - Min(num1,num2));
        return ;
    }
    if(gt != m)
dfs(c + 1 , gt + 1, num1 * K + s[c] - '0' , num2);
    if(c - gt != n - m)
        dfs(c + 1 , gt , num1 , num2 * K + s[c] - '0');
}

int main(){
    scanf("%d%d%d%s",&n,&m,&K,s);
    ans = -1;
    dfs(0 , 0 , 0 , 0);
    printf("%d\n",ans);
    return 0;
}
输入: 5 3 10 13254



[此贴子已经被作者于2017-6-28 10:40编辑过]

搜索更多相关主题的帖子: 运行 int Max return Min 
2017-06-28 10:24
love04520
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2017-6-25
收藏
得分:0 
dfs(0,0,0,0)带到自定义函数后,后面第一个IF语句都满足变成dfs(1,1,1,0),第二个IF语句也满足:dfs(1,0,0,1),继续带到dfs函数后,
dfs(1,1,1,0)第一个IF语句不满足,第二个IF语句后,变成dfs(2,2,13,0)经过第三个IF语句后为,dfs(2,1,1,3)
,,,,要怎么计算出最后ans值比较简单啊。求解,谢谢了
红色那段代码的详细运行情况:搞不懂。

[此贴子已经被作者于2017-6-28 10:42编辑过]

2017-06-28 10:34
love04520
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2017-6-25
收藏
得分:0 
回复 4楼 renkejun1942
如何,要你来做这题,你会怎么做,就阅读这段程序,得出答案。不要借助软件。
2017-06-29 10:42
快速回复:请教:这程序是如何运行的,能详细说明一下吗。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020046 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved