小a與星際探索 dp

2021-09-10 17:12:19 字數 1236 閱讀 9375

輸入描述:

第一行乙個整數n,表示星球數

接下來一行有n個整數,第i個整數表示pi

輸出描述:

乙個整數表示到達n號星球時最大的耐久度

若不能到達n號星球或到達時的最大耐久度為0則輸出−1輸入3

457 456 23

輸出478

說明小a有兩種方法到達3號星球

第一種:1→2→3,最終耐久度為457⊕456⊕23=22

第二種:1→3,最終耐久度為457⊕23=478輸入4

2 4 4 2

輸出-1輸入5

234 233 123 2333 23

輸出253

備註:1⩽n,∀pi⩽3000

emmmm...還是有點懵懵的,還有一些地方無法解釋,直接貼**吧.

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define pi 3.1415926

#define mod 1000000007

#define inf 0x3f3f3f3f

using namespace std;

//typedef pairnode;

typedef

long

long ll;

const

int max_n=

1<<14;

//這裡一定要寫成左移的形式(不知道為什麼)

int a[max_n]

,b[max_n]

;bool dp[max_n]

;int

main()

int num=1;

dp[a[1]

^a[n]

]=true;

//這個耐久度的值(a[1]^a[n])可以達到

for(

int i=

2;i)for

(int i=

1;iint ans=1;

for(

int i=max_n-

1;i>=

0;i--)}

printf

("%d\n"

,ans?ans:-1

);return0;

}

小a與星際探索

題目描述 第一行乙個整數n,表示星球數 接下來一行有n個整數,第i個整數表示pi 輸出描述 乙個整數表示到達n號星球時最大的耐久度 若不能到達n號星球或到達時的最大耐久度為0則輸出 1 示例1輸入 3457 456 23 輸出 478說明 小a有兩種方法到達3號星球 第一種 1 2 3,最終耐久度為...

牛客 小a與星際探索

注意 對於每個位置來說,從它出發可以到達的位置僅與兩者的pp有關,與下標無關 第一行乙個整數nn,表示星球數 接下來一行有nn個整數,第ii個整數表示pipi乙個整數表示到達nn號星球時最大的耐久度 若不能到達nn號星球或到達時的最大耐久度為00則輸出 1 1示例1 複製3 457 456 23複製...

小a與星際探索vector向量

第一行乙個整數n,表示星球數 接下來一行有n個整數,第i個整數表示pi乙個整數表示到達n號星球時最大的耐久度 若不能到達n號星球或到達時的最大耐久度為0則輸出 1小a有兩種方法到達3號星球 第一種 1 2 3,最終耐久度為457 456 23 22 第二種 1 3,最終耐久度為457 23 478 ...