2020 PAT秋季甲級考試 91分 記

2022-05-01 20:12:10 字數 1500 閱讀 5798

好坑,我想的是找出單調序列,從小到大依次賦值,序列最大的點先放著,之後根據兩邊的值確定每個最大點處的值。最後乙個點wa(-3分)

code1

#include using namespace std;

typedef long long ll;

int d[10005];

int main()

}if(j==n) j--;

if(j==i) f=0;//f=0 是單增

if(f==0)

i=j; //i=j-1修改為i=j

}else

for(int i=0;i建樹(給出中序,前序)拼題a上做過類似的click(滿分)

code3#include using namespace std;

typedef long long ll;

int n;

int in[25],pre[25];//中序和先序

int tree[25][3];

void build(int l,int r,int l1,int r1)

if(i!=r1)

}struct nodetemp;

int flag[25];//每層標記

int main()

if(tree[temp.index][1]!=0)

if(tree[temp.index][2]!=0)

}return 0;

}

環+最短路,我居然不會找環,寫了個垃圾演算法,tle了!!(-6分)

題意:給定乙個有向圖,邊權為s、d,存在環則輸出impossible,否則輸出ok,然後對每個詢問,輸出一條從入度為0的點到該點的最短路徑

code4

#include using namespace std;

typedef long long ll;

int n,m;

struct nodetemp;

vectorg1[1006];//反

int s1[1006][1006];

int d1[1006][1006];

int f[1006];//環標記

int flag=0;

int now;

void dfs1(int x,int cnt,vectorv)//查詢環

return ;

}else

if(flag) printf("impossible.\n");

else printf("okay.\n");

int q;

scanf("%d",&q);

while(q--)

if(f[t])

s_=int_max;

d_=0;

stackst;

st.push(t);

dfs(t,st,0,0);

while(!ans.empty())

printf("\n");

}return 0;

}

PAT(甲級)2023年秋季考試

題意 n 只熊貓排成一排喝奶。每只熊貓至少分配 200ml 的牛奶,如果乙個熊貓比它旁邊的熊貓重,那麼就需要比旁邊的熊貓至少多喝 100ml 的牛奶。如果體重相同,分配的牛奶要相同。問最少需要分配多少的牛奶,才能滿足要求 思路 從左往右掃一遍,每只熊貓都和左邊的比。然後從右往左掃一遍,每只熊貓都和右...

2019秋季PAT甲級考試心得

第一道題一共四個測試點,做了乙個小時,有兩個測試點沒過,得了12 20分 做題的時候遇到乙個問題,就是include之後,使用pow 10,n 計算報錯具有多個定義之類的 具體忘了怎麼說的了,sqrt也會報錯,有空的時候看看是什麼原因,上次pat考試也遇到了這個問題,而且後來忘了這回事,一直沒解決,...

PAT(乙級)2023年秋季考試

模擬。include using namespace std int sum string s int main else 模擬。include using namespace std int func int n int res 0 while mul return res int main in...