問題描述
這一天,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進行一下排序,然後我們從後往前處...