1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);
	long long n, wynik, wynikAkt, wynikPop = 1;
	int cyfra, cyfraPop;

	cin >> n;

	cyfra = n % 10;
	cyfraPop = cyfra;
	n /= 10;
	wynik = cyfra + 1;
	wynikAkt = wynik;
	while (n != 0) {
		cyfra = n % 10;
		n /= 10;
		wynik = wynikAkt * (long long)(cyfra + 1);
		if(cyfra == 1)
			wynik += wynikPop * (long long)(19 - (10 * cyfra + cyfraPop));
		wynikPop = wynikAkt;
		wynikAkt = wynik;
		cyfraPop = cyfra;
	}
	cout << wynik;
	return 0;
}