傳送門
題目描述
給定乙個長度為 n
'>n
的陣列 a1,
a2,·
··,a
n'>a1,a2,⋅⋅⋅,an
。你可以從中選出兩個數 a
i'>ai
和 aj
'>aj
(i'>i
不等於j
'>j),然後將 a
i'>ai
和 aj
'>aj
一前一後拼成乙個新的整數。
例如 12
'>12
和 345
'>345
可以拼成 12345
'>12345
或 34512
'>34512
。注意交換 a
i'>ai
和 aj
'>aj
的順序總是被視為 2
'>2
種拼法,即便是 ai=
aj'>ai=aj
時。請你計算有多少種拼法滿足拼出的整數是 k
'>k
的倍數。
輸入格式
第一行包含 2
'>2
個整數 n
'>n
和 k'>k
。第二行包含 n
'>n
個整數 a1,
a2,·
··,a
n'>a1,a2,⋅⋅⋅,an
輸出格式
乙個整數代表答案。
資料範圍1≤
n≤105
'>1≤n≤1e51≤
k≤105
'>1≤k≤1e51≤
ai≤10
9'>1≤ai≤1e9
輸入樣例:
4 2
1 2 3 4
輸出樣例:
6題解:
這是今年省賽第一場c++b組的題目,做完挺有收穫的,這裡記錄一下,具體見**注釋。
#includeusingnamespace
std;
int cnt[15][100005
];long
long a[100005
];int getbit(long
long
ans)
while
(ans);
return
res;
}long
long pow(int
bit)
return
ans;
}int
main()
long
long res=0
;
for(int i=0;i)
else
}cnt[getbit(a[i])][a[i]%k]++;//
恢復 }
cout
return0;
}
試題 歷屆試題 數字遊戲
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 棟棟正在和同學們玩乙個數字遊戲。遊戲的規則是這樣的 棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從上乙個同學說的數字往下數兩個數說出來,也就是說4。下乙個同學...
試題 I 整數拼接
試題 i 整數拼接 給定義個長度為 n 的陣列 a1,a2,an你可以從中選出兩個數 ai 和 aj i 不等於 j 然後將 ai 和 aj 一前一後拼成乙個新的整數。例如 12 和 345 可以拼成 12345 或 34512。注意交換 ai 和 aj 的順序總是被視為 2 種拼法,即便是 ai ...
歷屆試題 回文數字
歷屆試題 回文數字 時間限制 1.0s 記憶體限制 256.0mb 問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入...