TT的神秘任務1(思路)

2021-10-06 07:31:47 字數 1476 閱讀 8607

這一天,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」。

8103

100487

97288

31053

1000000000

9

yes42

4yes555

535nono

yes111

1111

1noyes311

yes111111110

111111110

111111110

111111110

111111110

111111110

111111110

111111110

111111120

由於這道題是spj,我們直接考慮極端的情況,題目要求將乙個n分割成k個數,這k個數必須奇偶性相同,那麼可以考慮分割成k-1個1和最後乙個n-(k-1),只要n-(k-1)是奇數就可以。同樣,可以分割成k-1個2和最後乙個n-2*(k-1),只要剩下的這個數是偶數即可。然後處理一下一些細節就好了。

//#pragma gcc optimize(2)

//#pragma g++ optimize(2)

//#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

int t,k,n;

intgetint()

while

(ch>=

'0'&& ch<=

'9')

return x*s;

}int

main()

else

if(n-

2*k+

2<=

0) cout<<

"no"

(n-2

*k+2)%

2==0)

else cout<<

"no"

<}return0;

}

A TT 的神秘任務1

這一天,tt 遇到了乙個神秘人。神秘人給了兩個數字,分別表示 n 和 k,並要求 tt 給出 k 個奇偶性相同的正整數,使得其和等於 n。例如 n 10,k 3,答案可以為 4 2 4 tt 覺得這個任務太簡單了,不願意做,你能幫他完成嗎?本題是spj input 第一行乙個整數 t,表示資料組數,...

E TT 的神秘任務3

tt 貓咖的生意越來越紅火,人越來越多,也越來越擁擠。為了解決這個問題,tt 決定擴大營業規模,但貓從 來呢?tt 第一時間想到了神秘人,想要再次通過完成任務的方式獲得貓咪。而這一次,神秘人決定加大難度。給定乙個環,a 1 a 2 a 3 a n 其中 a 1 的左邊是 a n 要求從環上找出一段長...

TT的神秘禮物 Week4作業C題

給定乙個 n 個數的陣列 cat i 並用這個陣列生成乙個新陣列 ans i 新陣列定義為對於任意的 i,j 且 i j,均有 ans abs cat i cat j 1 i j n。試求出這個新陣列的中位數,中位數即為排序之後 len 1 2 位置對應的數字,為下取整。輸入 多組輸入,每次輸入乙個...