題目鏈結
首先求出1~k中有多少個在k前面的數的個數,若》m,則無解
比如12345,從第一位開始,
1 0~1 共2個 1-0+1
12 10~12共3個 12-10+1
123 100~123 共24個 123-100+1
1234 1000~1234 共235個 1234-1000+1
...之後看還需要在k前面加多少個數,向下列舉
與上面相似
123450 100000~123450
1234500 1000000~1234500
直到前面的數字》=k,停止列舉,
處理出答案
...
#include#include#include
#include
using
namespace
std;
#define int long long
int p[20]=;
intk,m,ans;
#undef int
intmain()
#define int long long
while(l+1
)
if(mif(m==sum)
m-=sum;
int u=0
;
while(1
)
int d=k*p[u]-p[ll+u];
if(m>d) m-=d;
else
}printf(
"%lld\n
",ans);
return0;
}
洛谷 P2022 有趣的數
讓我們來考慮1到n的正整數集合。讓我們把集合中的元素按照字典序排列,例如當n 11時,其順序應該為 1,10,11,2,3,4,5,6,7,8,9。定義k在n個數中的位置為q n,k 例如q 11,2 4。現在給出整數k和m,要求找到最小的n,使得q n,k m。輸入輸出格式 輸入檔案只有一行,是兩...
洛谷 P2022 有趣的數
我們把乙個數稱為有趣的,當且僅當 它的數字只包含0,1,2,3,且這四個數字都出現過至少一次。所有的0都出現在所有的1之前,而所有的2都出現在所有的3之前。最高位數字不為0。因此,符合我們定義的最小的有趣的數是2013。除此以外,4位的有趣的數還有兩個 2031和2301。請計算恰好有n位的有趣的數...
洛谷 P2022 有趣的數 思維
傳送門 將1 n 1 n1 n的所有正整數都按照字典序排序,指定k m k mk m問nn n至少是多少時k kk的位置是第mmm位 這麼大的資料範圍我們顯然不能乙個個列舉,我直接推規律好了 有個十分明顯的規律,1 10 100 1 10 100 1 10 1 00這些數肯定在前面的 當n nn小於...