夏令營 8 20 測試

2021-07-17 00:09:55 字數 3101 閱讀 9619

奇怪的考試題 

題目名稱

數值距離

最短路放棋子

可執行檔名

disroad

chess

輸入檔名

dis.in

road.in

chess.in

輸出檔名

dis.out

road.out

chess.out

記憶體限制

256mb

256mb

256mb

每個測試點時限 2s

1s 1s

測試點數目 10

10 10

每個測試點分值 10

10 10

是否有部分分 無

無 無題目型別 傳統

傳統 傳統

備註 無

**測試

**測試

提交檔名需加字尾:

對於pascal語言

dis.pas

road.pas

chess.pas

對於c語言

dis.c

road.c

chess.c

對於c++語言

dis.cpp

road.cpp

chess.cpp

數值距離(dis.pas/c/cpp)

【題目大意】

我們可以對乙個數x進行兩種操作:

1、 選擇乙個質數y,將x變為x*y

2、 選擇乙個x的質因數y,將x變為x/y

定義兩個數a,b之間的距離為把a變成b所需要執行的最少操作次數。例如數69與42之間的距離為3,因為42=69/23*2*7

現在有乙個長度為n的序列a1,a2,…,an。對於每乙個i,我們需要找到乙個j,使得ai到aj的距離最小,若有多個j滿足條件,輸出最小的j。

【輸入檔案】

輸入檔案為dis.in。

輸入共有n+1行,第一行有乙個數n,接下來n行每行乙個數ai。

【輸出檔案】

輸出檔案為dis.out。

輸出一共n行,每行乙個整數,第i行的整數表示對於i所求得的j是多少。

【樣例輸入】6

1 2

3 4

5 6

【樣例輸出】2

1 1

2 1

2

【資料規模與約定】

對於30%的資料,n≤1000;

另有20%的資料,ai≤1000;

對於100%的資料,2≤n≤100000,1≤ai≤1000000。

最短路(road.pas/c/cpp)

【題目大意】

有乙個點數為n,邊數為m的無向圖,點的編號為1到n。邊的權值均為非負數。

現在請你求出從點1到點n的最短路徑條數,若有無限條則輸出-1,答案對於1000000009取模(即109+9)。

【輸入檔案】

輸入檔案為road.in。

輸入共有m+1行。

第一行有兩個整數n,m,表示圖中所有的點數與邊數。

接下來的m行,每行三個整數x,y,z,表示了一條邊的起點、終點以及該邊的長度。

【輸出檔案】

輸出檔案為road.out。

輸出乙個整數表示從點1至點n的最短路徑條數,答案對於1000000009取模。

【樣例輸入】

4 4

1 2 1

1 3 1

2 4 1

3 4 1

【樣例輸出】2

【資料規模與約定】

對於10%的資料,n≤10,m≤10;

對於40%的資料,n≤1000,m≤2000;

對於100%的資料,n≤100000,m≤200000;

保證到任意一點最短路的長度不超過64位有符號長整型範圍。

放棋子(chess.pas/c/cpp)

【題目大意】

現在有乙個n*m的棋盤,現在你需要在棋盤上擺放2n個棋子,要求滿足如下條件:

1、 每一列只能有乙個棋子;

2、 每一行的前xi個格仔有乙個棋子,而且最多有乙個棋子;

3、 每一行的後yi個格仔有乙個棋子,而且最多有乙個棋子;

求一共有多少種不同的放置方案,答案對於1000000007取模(即109+7)。

【輸入檔案】

輸入檔案為chess.in。

輸入共有n+1行。第一行有兩個整數n,m,表示該棋盤的行數與列數。

接下來的n行,每行兩個整數xi和yi,表示每一行的前xi個格仔需要有乙個棋子,每一行的後yi個格仔需要有乙個棋子。

【輸出檔案】

輸出檔案為chess.out。

輸出乙個整數表示共有多少種不同的方案,答案對於1000000007取模。

【樣例輸入】

3 6

1 2

3 3

3 2

【樣例輸出】4

【資料規模與約定】

資料點

n最大值

m最大值 其他

1 412 無

2 10

50 無

3 50

200所有xi相等,所有yi相等 4

50200

所有xi相等 5

50200

所有yi相等

資料點n最大值

m最大值 其他

6 50

200max(left)+max(right)≤m 7

50200

max(left)+max(right)≤m 8

50200 無

9 50

200 無

10 50

200 無

開源夏令營(1)

前段時間主要做了git的一些配置和熟悉 git pull 從其他的版本庫 既可以是遠端的也可以是本地的 將 更新到本地。git add 是將當前更改或者新增的檔案加入到git的索引中,加入到git的索引中就表示記入了版本歷史中,這也是提交之前所需要執行的一步 git rm 從當前的工作空間中和索引中...

開源夏令營總結

時間過得很快,開源夏令營就要結束了,今天就簡單總結一下這段時間的所學所做。1.研究源 因為專案已經有一定規模,所以第一步肯定是要先弄懂現有專案結構和 邏輯。view層負責把資料顯示出來,包括每一幀的具體資料,和骨骼父子關係等 model,collection會負責資料的驗證和訪問。每當使用者操作時,...

開源夏令營(8)

例如拿標題來舉例,以下兩段 是等效的 一 php the title 二 php echo get the title 注意the permalink 對應的是get permalink 沒有 the 模板標籤大全 常用的模板標籤 php the content 日誌內容 php the title...