Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- struct comb
- {
- int i;
- int j;
- int k;
- };
- int g(int n, std::vector<comb>& combinations)
- {
- int size = 0;
- comb combination;
- for (int i = 0; i < 10; ++i)
- for (int j = 0; j < 10; ++j)
- for (int k = 0; k < 10; ++k)
- {
- if (i + j + k == n)
- {
- combination.i = i;
- combination.j = j;
- combination.k = k;
- combinations.push_back(combination);
- size++;
- }
- }
- return size;
- }
- int f(int n)
- {
- std::vector<comb> arr;
- int size = g(n,arr);
- int count = 0;
- for (int i = 0; i < size; ++i)
- for (int j = 0; j < size; ++j)
- {
- if (arr[i].i + arr[j].i <= n &
- arr[i].j + arr[j].j <= n &
- arr[i].k + arr[j].k <= n &
- arr[i].i + arr[j].i >= n - 9 &
- arr[i].j + arr[j].j >= n - 9 &
- arr[i].k + arr[j].k >= n - 9)
- count++;
- }
- return count;
- }
- int main()
- {
- int N;
- std::cin >> N;
- std::cout << (N <= 27) * f(N);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement