题解 | #LP钱不够#

LP钱不够

https://ac.nowcoder.com/acm/problem/14582

递归方法:void ff(int tot,int x,int y) 表示到(x,y)总共需要tot的钱 递归就是没有到终点继续执行此函数这个方法就是把所有路径走一遍所以比较慢。

#include <iostream>
#include <cmath>
using namespace std;
int total=2147483647;
int place[25][25];
int N;
void ff(int tot,int x,int y){
    tot+=place[x][y];
    if(x==N-1&&y==N-1){
        total=min(total,tot);
        return;
    }
    if(x+1<N)ff(tot,x+1,y);
    if(y+1<N)ff(tot,x,y+1);
}
int main()
{
    int T;
    cin>>T;
    for(int i=0;i<T;i++){
        cin>>N;
        for(int j=0;j<N;j++)
            for(int k=0;k<N;k++)
                cin>>place[j][k];
        ff(0,0,0);
        cout<<total<<endl;
        total=2147483647;
    }
}
全部评论

相关推荐

比亚迪深圳规划院 产品经理 0.9×1.36×12
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务