uva 11218 - KTV 简单回溯

简介:

   感觉有比回溯更加高效的方法,但是水平不够,只会回溯


/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#define INF 1E9
using namespace std;
bool h[10]={0};
int Max;
struct node
{
    int a,b,c,s;
}org[82];
void dfs(int r,int i,int now)
{
    if(!r)
    {
        Max=max(Max,now);
        return;
    }
    for(--i;i>=0;i--)
    {
        if(h[org[i].a]||h[org[i].b]||h[org[i].c])continue;
        h[org[i].a]=h[org[i].b]=h[org[i].c]=1;
        dfs(r-1,i,now+org[i].s);
        h[org[i].a]=h[org[i].b]=h[org[i].c]=0;
    }
    return;
}
int main()
{
    int n,i,C=0;
    while(~scanf("%d",&n)&&n)
    {
        Max=-1;
        for(i=0;i<n;i++)
            scanf("%d%d%d%d",&org[i].a,&org[i].b,&org[i].c,&org[i].s);
        dfs(3,n,0);
        printf("Case %d: %d\n",++C,Max);
    }
}


目录
相关文章
|
1月前
|
算法
【错题集-编程题】腐烂的苹果(多源 BFS + 最短路)
【错题集-编程题】腐烂的苹果(多源 BFS + 最短路)
|
1月前
|
计算机视觉
【每日一题Day231】LC1240铺瓷砖 | 暴力回溯
【每日一题Day231】LC1240铺瓷砖 | 暴力回溯
26 0
|
8月前
|
算法 机器人 C++
剑指offer(C++)-JZ13:机器人的运动范围(算法-回溯)
剑指offer(C++)-JZ13:机器人的运动范围(算法-回溯)
洛谷P1135 奇怪的电梯——广搜
洛谷P1135 奇怪的电梯——广搜
78 0
|
算法 C++
【每日算法Day 62】LeetCode 815. 公交路线
【每日算法Day 62】LeetCode 815. 公交路线
LeetCode动态规划—打家劫舍从平板板到转圈圈(198、213)
LeetCode动态规划—打家劫舍从平板板到转圈圈(198、213)
LeetCode每日一题(11)——太平洋大西洋水流问题(递归,深度优先遍历实例)
大西洋太平洋水流问题 1.题目 2.示例 3.思路 理解题目 解题思路 4.代码
117 0
LeetCode每日一题(11)——太平洋大西洋水流问题(递归,深度优先遍历实例)
UPC-排队出发+AcWing-耍杂技的牛(推公式的贪心)
UPC-排队出发+AcWing-耍杂技的牛(推公式的贪心)
67 0