首页 > 编程语言 > 详细

牛客寒假算法基础集训营1 C. 小a与星际探索

时间:2019-02-02 23:15:31      阅读:248      评论:0      收藏:0      [点我收藏+]

题目描述:

链接:https://ac.nowcoder.com/acm/contest/317/C
来源:牛客网

 

思路:dp找到1——n星球的最大耐久度

 

代码如下:

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4  
 5 int main()
 6 {
 7     int n,a[3005],dp[3005];
 8     while(cin >> n)
 9     {
10         memset(dp,0,sizeof(dp));
11         for(int i = 1;i <= n;i++)
12         cin >> a[i];
13         dp[1] = a[1];
14         //从第二个星球开始遍历寻找最大耐久度
15         for(int i = 2;i <= n;i++)
16         {
17             for(int j = 1;j < i;j++)//从j到i星球
18             if(a[i] < a[j] && dp[j])//如果从j可以到i星球而且从1号星球可以到达j星球
19             dp[i] = max(dp[i],dp[j] ^ a[i]);//更新i星球的最大耐久度
20         }
21         if(dp[n])
22         cout << dp[n] << endl;
23         else
24         cout << -1 << endl;
25     }
26     return 0;
27 }

 

牛客寒假算法基础集训营1 C. 小a与星际探索

原文:https://www.cnblogs.com/lu1nacy/p/10349374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!