積分賽一 L QAQ and twin lock

2021-07-28 21:38:40 字數 1302 閱讀 5179

問題 l: qaq and twin lock

"飲一杯清茶,輕嘆就虛張了年華,幾度春夏,命運糾纏,難追尋; 描一抹硃砂,執筆就驚起了牽掛,楓葉流丹,血色墓道,勿回首。"

沒能過掉青銅門的qaq和小夥伴怎甘心空手而回,於是只好走了另一條更加凶險的暗道,剛走沒幾步qaq就和他的小夥伴就觸發了另乙個

機關---雙子鎖。

若想安全逃生,唯有將鎖身正面的大數n,分成兩個合法的數,且為反面兩個數字a,b的整數倍,當然qaq希望最後得

到的a的倍數盡可能的小,久經墓道的qaq們能否安全逃生?

第一行輸入乙個整數t (100 >= t > 0),代表有t組測試資料。

每組資料的第一行為乙個大數n,n的長度為 n ( 0 < n =< 1000),第二行為 a,b(1 < a ,b < 10 ^ 8)

若n可以拆分成a和b的倍數,輸出"yes",以及拆成的兩個數(不能有前導0),反之輸入"no"

3

232 3

2178

7 8671

6 4

yes23

yes217

8no

思路:將乙個字串分成兩部分str【i】為分界線,從第乙個字元到此
字面上對應的十進位制整數對a取余為0,後面一部分表示的整數對b取餘
為0;關鍵是去掉前導0,後面一部分。
#include#include#define n 1000+111

char str[n];

int main(){

int t,a,b;

scanf("%d",&t);

while(t--)

{ scanf("%s",str);

scanf("%d%d",&a,&b);

int l=strlen(str);

int k1=0;

int q=-1;

bool flag=false;

for(int i=0;i#include#define n 1000+111

char str[n];

int main(){

int t,a,b;

scanf("%d",&t);

while(t--)

{ scanf("%s",str);

scanf("%d%d",&a,&b);

int l=strlen(str);

int k1=0;

int q=-1;

bool flag=false;

for(int i=0;i

HPUOJ 積分賽(一)B Divisible

時間限制 1 sec 記憶體限制 128 mb 給定乙個很大的整數,我想知道它能否被9整除。有t組測試資料,每組資料給定乙個整數n不存在前導0。1 t 20,1 n 10 200 對每組測試資料,若n可以被9整除,輸出1,反之輸出0。3 111111111111111111111111111111 ...

2021寒假積分賽(一)補題(1)

二.c 字數統計 三.e 迷宮城堡 tarjan演算法還不是很明白看了很多大佬的 後續還有四道題要補 題目 乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做 回文數 例如,1234321就是乙個回文數,而778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數...

暑假第一次積分賽

本次積分賽菜的就不談了,和前邊的大佬差距太大了,但是下來補題的時候發現許多題靜下來細細想想都是可以做出來的,都是思維題而已,可惜是缺少了高中時候的鑽研精神啊!for int i 0 i就是找出每乙個a前後有幾個q,用乙個結構體儲存,之後跑一遍相乘 b 排序去重 set跑一遍就好 c就是開頭說的思維問...