Week12作業 必做題

2021-10-06 19:21:55 字數 2860 閱讀 2713

a

給出n個數,zjm想找出出現至少(n+1)/2次的數, 現在需要你幫忙找出這個數是多少?

input

本題包含多組資料:

每組資料報含兩行。

第一行乙個數字n(1<=n<=999999) ,保證n為奇數。

第二行為n個用空格隔開的整數。

資料以eof結束。

output

對於每一組資料,你需要輸出你找到的唯一的數。

實現:
#include

#include

#include

#include

using

namespace std;

const

int maxn =

1e6+10;

int cnt[maxn]

;int n,x;

int a=-1

;int

main()

int tmp =

(n+1)/

2;for(

int i=

1;i<=a;

++i)}}

return0;

}

錯誤:

b

zjm被困在乙個三維的空間中,現在要尋找最短路徑逃生!

空間由立方體單位構成。

zjm每次向上下前後左右移動乙個單位需要一分鐘,且zjm不能對角線移動。

空間的四周封閉。zjm的目標是走到空間的出口。

是否存在逃出生天的可能性?如果存在,則需要多少時間?

input

輸入第一行是乙個數表示空間的數量。每個空間的描述的第一行為l,r和c(皆不超過30)。

l表示空間的高度,r和c分別表示每層空間的行與列的大小。隨後l層,每層r行,每行c個字元。

每個字元表示空間的乙個單元。』#『表示不可通過單元,』.『表示空白單元。zjm的起始位置在』s』,出口為』e』。每層空間後都有乙個空行。

l,r和c均為0時輸入結束。

output

每個空間對應一行輸出。如果可以逃生,則輸出如下:escaped in x minute(s).

x為最短脫離時間。

思路:

實現:

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn =32;

bool vis[maxn]

[maxn]

[maxn]=;

int l,r,c;

char tmp;

struct point};

point s,e;

int dl=

;int dr=

;int dc=

;bool flag =

false

;queue q;

void

bfs(

)for

(int i=

0;i<

6;i++)}

}}intmain()

memset

(vis,0,

sizeof

(vis));

for(

int i=

0;i++i)

else

if(tmp ==

'e')

else

if(tmp ==

'#')vis[i]

[j][t]=1

;}}}

flag =

false

;bfs()

;if(flag ==

false

) cout<<

<}return0;

}

c
東東每個學期都會去寢室接受掃樓的任務,並清點每個寢室的人數。

每個寢室裡面有ai個人(1<=i<=n)。從第i到第j個宿舍一共有sum(i,j)=a[i]+…+a[j]個人

這讓宿管阿姨非常開心,並且讓東東掃樓m次,每一次數第i到第j個宿舍sum(i,j)

問題是要找到sum(i1, j1) + … + sum(im,jm)的最大值。且ix <= iy <=jx和ix <= jy <=jx的情況是不被允許的。也就是說m段都不能相交。

注:1 ≤ i ≤ n ≤ 1e6 , -32768 ≤ ai ≤ 32767 人數可以為負數。。。。(1<=n<=1000000)

input

輸入m,輸入n。後面跟著輸入n個ai 處理到 eof

output

輸出最大和

思路:

實現:

#include

#include

#include

using

namespace std;

const

int maxn=

1e6+10;

int m,n;

long

long ans;

int dp[maxn]

,a[maxn]

,f[maxn]

;void

init()

intmain()

}for

(int i=m;i<=n;i++

)//選出最大值

ans=

max(ans,

(long

long

)(dp[i]))

;printf

("%lld\n"

,ans);}

return0;

}

WEEK12 作業 C 必做題3

東東每個學期都會去寢室接受掃樓的任務,並清點每個寢室的人數。每個寢室裡面有ai個人 1 i n 從第i到第j個宿舍一共有sum i,j a i a j 個人 這讓宿管阿姨非常開心,並且讓東東掃樓m次,每一次數第i到第j個宿舍sum i,j 問題是要找到sum i1,j1 sum im,jm 的最大值...

Week12 必做題1(簽到)

給出n個數,zjm想找出出現至少 n 1 2次的數,現在需要你幫忙找出這個數是多少?本題包含多組資料 每組資料報含兩行。第一行乙個數字n 1 n 999999 保證n為奇數。第二行為n個用空格隔開的整數。資料以eof結束。對於每一組資料,你需要輸出你找到的唯一的數。513 23311 1111 15...

Week12作業 C 必做題 3 動態規劃

東東每個學期都會去寢室接受掃樓的任務,並清點每個寢室的人數。每個寢室裡面有ai個人 1 i n 從第i到第j個宿舍一共有sum i,j a i a j 個人 這讓宿管阿姨非常開心,並且讓東東掃樓m次,每一次數第i到第j個宿舍sum i,j 問題是要找到sum i1,j1 sum im,jm 的最大值...