1. 程式人生 > >牛客寒假算法基礎集訓營1 C. 小a與星際探索

牛客寒假算法基礎集訓營1 C. 小a與星際探索

bit mes acm size out cin 尋找 ace long

題目描述:

鏈接: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與星際探索