程設十三周

2021-10-06 20:37:08 字數 2738 閱讀 7070

問題描述

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

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

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

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

本題是spj

input

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

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

output

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

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

思路n,k只有四種情況,奇奇、奇偶、偶奇、偶偶。只有一種合法方案即可。

奇奇:n-1個1和1個n-k+1

奇偶:無解

偶奇:n-1個2和1個n-2*(k-1)

偶偶:n-1個1和1個n-k+1

**

#include

using

namespace std;

intmain()

if(k%2==

1)else}if

(ans[k]

<=0)

o=false;if

(o)else

cout<<

"no"

<}return0;

}

問題描述

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

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

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

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

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

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

input

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

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

output

對於每一組資料,輸出無法被 n 整除的第 k 大的正整數。

思路每n個數中只有乙個是可以被n整除的,所以找出k覆蓋了幾組n,然後找出剩餘的在一組n中的位置,如3,7,覆蓋了三組,是第四組的第乙個,ans=33+1=10。再對於3,6,覆蓋了三組,是第三組的最後乙個,ans=33-1=8。

**

#include

using

namespace std;

intmain()

return0;

}

問題描述

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

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

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

在這裡插入描述

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

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

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

input

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

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

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

output

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

思路dp。

f[i][j]表示在位置i,第j秒可以接到的最大貓數。

開始對題目理解出現錯誤,以為一秒內可以走一步然後再伸出手接左中右三個中的乙個,但題目意思是走一步接當前位置的。

將開始的第一秒中不能走的位置的貓數設為乙個負數,防止出錯。

**

#include

#include

#include

using

namespace std;

int a[11]

[100010

],f[11]

[100010];

intmain()

for(

int i=

0;i<=

10;i++

) f[i][1

]=-100000

; f[4]

[1]=a[4]

[1];

f[5]

[1]=a[5]

[1];

f[6]

[1]=a[6]

[1];

for(

int j=

2;j<=tot;j++

)else

if(i==10)

else}}

ans=0;

for(

int i=

0;i<=

10;i++

) ans=

max(ans,f[i]

[tot]);

cout>n;

}}

課設十三周總結

一。自己的貢獻 1.搭建實驗環境,安裝虛擬機器 2.寫小組的總結實驗報告 3.完成ic卡讀寫實驗 二。遇到的問題與解決方法 遇到無法掛載的情況 解決方法1.更換主機,無法解決 2.更換密碼箱,無法解決 三。體會與收穫 我在之前的學習中還未了解硬體與軟體的結合,經過這次課程學習,我不僅僅學習了初步的l...

程設第三週

簡單題意 多組資料,組數給出,對於每組資料,第一行給出n,k,s,第二行為n個整數,要求在n個整數中選k個整數,使其和為s。思路對於該題我們可以直接dfs x,y,sum x表示已經選了幾個數,y表示從前往後選到了第幾個數,sum表示當前的和為多少。這樣當x k且sum s則表示該情況合法,ans ...

程設第四周

簡單題意 多組資料,對於每組資料,有n項作業,每天只能完成一項作業,每項作業都有乙個ddl和分值,求沒完成的作業的分值之和。輸入第一行為t,表示t組資料,對於每組資料,第一行為n,第二行為n個數,表示ddl,第三行為n個數,表示作業的分值。思路對於一組資料,先按ddl進行一下排序,然後我們從後往前處...