AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC

神秘的神秘  •  16小时前


include <bits/stdc++.h>

using namespace std; long long a[10]; long long c[51][51]; string s;

int main() {

cin >> s;
long long w = s.size();
for (long long i = 0; i < w; i++) {
	a[s[i] - '0']++;
}
for (long long i = 0; i <= w; i++) {
	c[i][i] = 1;
	c[i][0] = 1;
	for (long long j = 1; j < i; j++) {
		c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
	}
}
long long m = 0;
for (long long i = 0; i < w; i++) {
	for (long long j = 0; j < s[i] - '0'; j++) {
		if (a[j] == 0) {
			continue;
		}
		a[j]--;
		long long d = w - i - 1;
		long long z = 1;
		for (long long k = 0; k <= 9; k++) {
			z *= c[d][a[k]];
			d -= a[k];
		}
		m += z;
		a[j]++;
	}
	a[s[i] - '0']--;
}
cout << m;
return 0;

}


评论:

请先登录,才能进行评论