diff --git a/analise-de-dados/problem.json b/analise-de-dados/problem.json index e2b95ea..f4543fe 100644 --- a/analise-de-dados/problem.json +++ b/analise-de-dados/problem.json @@ -45,7 +45,7 @@ "main-ac": "ac.cpp", "alternative-ac": [], "wrong-answer": [], - "time-limit": [], + "time-limit": ["TLE.cpp"], "time-limit-or-ac": [], "time-limit-or-memory-limit": [], "memory-limit": [], diff --git a/analise-de-dados/src/TLE.cpp b/analise-de-dados/src/TLE.cpp new file mode 100644 index 0000000..03843d2 --- /dev/null +++ b/analise-de-dados/src/TLE.cpp @@ -0,0 +1,46 @@ +#include + +typedef long long ll; +using namespace std; + +const int MOD = 1e9 + 7; +int N; +vector rollMax(7); + +ll die(int size, int count, int last) +{ + if (size == N) return 1; + + ll ans = 0; + if (count < rollMax[last]) + ans += die(size + 1, count + 1, last); + + for (int i = 1; i <= 6; i++) { + if (i != last) { + ans += die(size + 1, 1, i); + ans %= MOD; + } + } + + return ans; +} + +int dieSimulator() +{ + ll ans = 0; + for (int i = 1; i <= 6; i++) + { + ans += die(1, 1, i); + ans %= MOD; + } + return ans; +} + +int main() +{ + cin >> N; + for (int i = 1; i <= 6; i++) + cin >> rollMax[i]; + cout << dieSimulator() << endl; + return 0; +} \ No newline at end of file