題目鏈接:見這里 題意:給一個數,和一個k,要你刪除數里面的某些數字使得這個數能被k整除,求最少刪除多少個數? 解法:貪心,注意到要被k整除,那么這個數最后至少有k個0,所以我們從后往前刪,刪到k個0的時候停下來,這個時候就可以得到答案了。
//CF 779B#include <bits/stdc++.h>using namespace std;string s;int k;int main(){ cin >> s >> k; int len = s.size(); int ans = 0, f = 0; for(int i = len - 1; i >= 0; i--){ if(s[i] == '0'){ k--; f = 1; if(k == 0) break; } else ans++; } if(k != 0)新聞熱點
疑難解答