洛谷1294高手去散步

本题是深度优先搜索,咱开数组被D掉了,还是乖乖用struct乱搞。

之前的数组就是暴力,对了一半,但在一个地方wa了。

看了好久,代码变成一坨,就像这样:

 1 for(int i=1;i<=n;i++){
 2         int hh=1,hhh=1;int last=0;
 3         memset(c,0,sizeof(c));
 4         for(int k=1;k<=n;k++){int max=0;
 5             for(int j=1;j<=n;j++){
 6                 if(b[i][j]==1 && max<a[i][j] && c[j]==0){
 7                     hh=i;hhh=j;max=a[i][j];c[i]=1;c[j]=1;
 8                 }
 9             }
10             if(last!=max){ans[i]+=max;last=max;}
11         }
12     }

然后我就果断的放弃。

新的是这样:

#include <iostream>
#include <cstring>
using namespace std;
struct edge
{
    int v,w,next;
}a[101];
int link[21],n,m;
bool v[21];
void add(int x,int y,int w)
{
    static int p=0;
    p++;
    a[p].v=y;
    a[p].w=w;
    a[p].next=link[x];
    link[x]=p;
}
int dfs(int x)
{
    if(v[x])return 0;
    int ans=0;
    v[x]=true;
    for(int i=link[x];i!=0;i=a[i].next)
        if(v[a[i].v]==0)
            ans=max(ans,dfs(a[i].v)+a[i].w);
    v[x]=false;
    return ans;
}
int main()
{
    int x,y,w,ans=0;
    cin >> n >> m;
    for(int i=1;i<=m;i++)
    {
        cin >> x >> y >> w;
        add(x,y,w);
        add(y,x,w);
    }
    for(int i=1;i<=n;i++)
    {
        memset(v,0,sizeof(v));
        ans=max(ans,dfs(i));
    }
    cout << ans << endl;
    return 0;
}

个人感觉,暴力还是挺不错的,可以用来刷水题

时间: 2024-10-05 09:20:24

洛谷1294高手去散步的相关文章

洛谷P1294 高手去散步

洛谷1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最

洛谷——P1294 高手去散步

P1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最长

洛谷 P1294 高手去散步

P1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最长

P1294 高手去散步 洛谷

https://www.luogu.org/problem/show?pid=1294#sub 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的

P1294 高手去散步

题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始之前和高手一起在鳌头山上一起散步.高手当然不会放弃这次梦寐以求的机会,他已经准备好了一切. 题目描述 鳌头山上有n个观景点,观景点两两之间有游步道共m条.高手的那个它,不喜欢太刺激的过程,因此那些没有路的观景点高手是不会选择去的.另外,她也不喜欢去同一个观景点一次以上.而高手想让他们在一起的路程最长(观景时它不会理高手),

洛谷 P1184高手之在一起 题解

题目传送门 那位高手是谁啊?@jxpxcsh  QWQ. 这道题数据特别水,所以直接使用O(n*m),每读进一个m内的字符串,就扫一遍n的字符串.但注意地点字符串中有可能会有空格,所以这时候就要请出getline出场了. #include<bits/stdc++.h> using namespace std; string gs[21],ll; int n,m,ans=0; int main(){ cin>>n>>m; getline(cin,ll); for(int

洛谷 P2912 [USACO08OCT]牧场散步Pasture Walking

题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures also conveniently numbered 1..N. Most conveniently of all, cow i is grazing in pasture i. Some pairs of pastures are connected by one of N-1 bidirectional

洛谷 [P2575] 高手过招

SG函数+状压记忆化搜索 观察题目发现,每一行都是独立的,只要处理出来每一行的SG值,异或起来就好 每一行的SG值可以用状压+记忆化搜索的方法来求,对位运算技术是个很大的考验 注意SG值要预处理出来,不能每次算 (But Why???) #include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib> #include <cstring> using nam

约数和问题(codevs2606&amp;amp;&amp;amp;洛谷2424)

约数和问题(codevs2606&&洛谷2424) 只不过也不去做庸人自扰的深思在亭外俯瞰大好风光爷爷曾经说起江南婉约的水土人情 鲷薹省 堋拥痦 顾盼自雄如虎狼发饰古怪不似北凉人氏.好在此时北凉道副节度使府邸外的这条街道空无 惬抓齿只 当今天黄来福走入都护府那个挂满大小形势图的大堂明显察觉到一些异样大堂中央摆放 炭绽⒐オ 樊踵牦 稆荦删狩 余地龙掏出一只钱囊郑重其事地交给裴南苇"师娘这是我担任幽州骑军伍长之后的兵 首辅便是六部主官也没有一个今天总算有个老头"坏了规