第十三周作業 必做題部分

2021-10-06 11:24:42 字數 4095 閱讀 8779

一、題目

這一天,tt 遇到了乙個神秘人。

神秘人給了兩個數字,分別表示 n 和 k,並要求 tt 給出 k 個奇偶性相同的正整數,使得其和等於 n。

例如 n = 10,k = 3,答案可以為 [4 2 4]。

tt 覺得這個任務太簡單了,不願意做,你能幫他完成嗎?

本題是spj

二、輸入

第一行乙個整數 t,表示資料組數,不超過 1000。

之後 t 行,每一行給出兩個正整數,分別表示 n(1 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 100)。

三、輸出

如果存在這樣 k 個數字,則第一行輸出 「yes」,第二行輸出 k 個數字。

如果不存在,則輸出 「no」。

四、樣例輸入輸出

input

8

10 3

100 4

8 797 2

8 83 10

5 31000000000 9

output

yes

4 2 4

yes55 5 5 35

nono

yes1 1 1 1 1 1 1 1

noyes

3 1 1

yes111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111120

五、解題思路

建立兩個陣列,乙個判斷奇數,乙個判斷偶數。需要遍歷這兩個陣列,對資料進行處理,奇陣列的數字全變為奇數,偶數組的數字全變為偶數。判斷最後剩餘的餘數是否為偶數,如果是的話,則不會影響陣列中元素的奇偶性。

六、樣例**

#include

using

namespace std;

int t,n,k;

int j[

110]

,o[110];

int yj,yo;

//餘數

void

solve()

yj=yo=n%k;

for(

int i=

0;i(o[i]%2

==1)//全變為偶數}if

(j[0

]<=0)

if(yj%2==

0)if(o[0]

<=0)

if(yo%2==

0)cout<<

"no"

<}int

main()

一、題目

在你們的幫助下,tt 輕鬆地完成了上乙個神秘任務。

但是令人沒有想到的是,幾天後,tt 再次遇到了那個神秘人。

而這一次,神秘人決定加大難度,並許諾 tt,如果能夠完成便給他乙個獎勵。

任務依舊只給了兩個數字,分別表示 n 和 k,不過這一次是要求 tt 給出無法被 n 整除的第 k 大的正整數。

例如 n = 3,k = 7,則前 7 個無法被 n 整除的正整數為 [1 2 4 5 7 8 10],答案為 10。

好奇的 tt 想要知道獎勵究竟是什麼,你能幫幫他嗎?

二、輸入

第一行乙個整數 t,表示資料組數,不超過 1000。

之後 t 行,每一行給出兩個正整數,分別表示 n(2 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 1e9)。

三、輸出

第一行乙個整數 t,表示資料組數,不超過 1000。

之後 t 行,每一行給出兩個正整數,分別表示 n(2 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 1e9)。

四、樣例輸入輸出

input

6

3 74 12

2 1000000000

7 97

1000000000 1000000000

2 1

output

10

151999999999

1131000000001

1

五、解題思路

如果k比n小的話,直接輸出k即為答案。

否則,記錄k /(n-1)得到的倍數和餘數。計算得到結果。

六、**樣例

#include

using

namespace std;

int t,n,k;

int ans,y,x;

void

solve()

y=k%

(n-1);

//記錄餘數

x=k/

(n-1);

//記錄幾倍

ans=x*n+y;

if(y==

0) ans=ans-1;

cout<}int

main()

return0;

}

一、題目

在大家不辭辛勞的幫助下,tt 順利地完成了所有的神秘任務。

神秘人很高興,決定給 tt 乙個獎勵,即白日做夢之撿貓咪遊戲。

撿貓咪遊戲是這樣的,貓咪從天上往下掉,且只會掉在 [0, 10] 範圍內,具體的座標範圍如下圖所示。

tt 初始站在位置五上,且每秒只能在移動不超過一公尺的範圍內接住掉落的貓咪,如果沒有接住,貓咪就會跑掉。例如,在剛開始的一秒內,tt 只能接到

四、五、六這三個位置其中乙個位置的貓咪。

喜愛貓咪的 tt 想要接住盡可能多的貓咪,你能幫幫他嗎?

二、輸入

多組樣例。每組樣例輸入乙個 m (0 < m < 100000),表示有 m 只貓咪。

在接下來的 m 行中,每行有兩個整數 a b (0 < b < 100000),表示在第 b 秒的時候有乙隻貓咪掉落在 a 點上。

注意,同乙個點上同一秒可能掉落多隻貓咪。m = 0 時輸入結束。

三、輸出

輸出乙個整數 x,表示 tt 可能接住的最多的貓咪數。

四、樣例輸入輸出

input

6

5 14 1

6 17 2

7 28 3

0

output

五、解題思路

dp問題。

核心是從時間的最後一秒開始做dp,最後的結束為止應該在map。代表最開始時間的5號位置。

注意:如果正向的開始dp的話,不能簡單的判斷最後一秒鐘map【0-12】取max,因為起始的位置題目中是定死的,而這種情況顯然是不定的,可以在0-12的任意位置中取。

六、樣例**

#include

using

namespace std;

int m,a,b;

int map[12]

[100010];

int time;

void

solve()

} time=0;

for(

int i=

0;i)for

(int i=time-

1;i>=

0;i--)}

cout<[0

]<}int

main()

return0;

}

第十三周作業 必做3

神秘人很高興,決定給 tt 乙個獎勵,即白日做夢之撿貓咪遊戲。撿貓咪遊戲是這樣的,貓咪從天上往下掉,且只會掉在 0,10 範圍內,具體的座標範圍如下圖所示。tt 初始站在位置五上,且每秒只能在移動不超過一公尺的範圍內接住掉落的貓咪,如果沒有接住,貓咪就會跑掉。例如,在剛開始的一秒內,tt 只能接到 ...

第十三周作業 2

程式頭部注釋開始 為避免提交博文中遇到的問題,將用於表明注釋的斜槓刪除了 程式的版權和版本宣告部分 檔名稱 求值 作 者 王智凱 完成日期 2011 年 11 月 17 日 版 本號 凱凱 對任務及求解方法的描述部分 輸入描述 無 問題描述 自定義函式,用泰勒公式實現計算sin和cos的近似值,要求...

第十三周作業 3 0

計算存款利息 作 者 計114 1 孫建朋 完成日期 2011 年 11 月 11 日 版本號 20111111 3.0 對任務及求解方法的描述部分 輸入描述 金額與存期 問題描述 輸入存款金額並選擇存款種類,計算出利息 不計利息稅 如果是活期存款,需要補充輸入天數。利息 金額 年利率 存期 單位 ...