题解:UVA13262 Count Equation Solutions
Public_leda_team · · 题解
这道题直接暴力枚举是
那么我们考虑将式子分为
时间复杂度
#include <iostream>
#include <unordered_map>
// #define int long long
using namespace std;
int m, a[7];
unordered_map<int, int> mp;
signed main() {
// ios::sync_with_stdio(0);
// cin.tie(0), cout.tie(0);
while (scanf("%d", &m) != -1) {
mp.clear();
for (int i = 1; i <= 6; ++i) {
scanf("%d", &a[i]);
}
for (int i = 1; i <= m; ++i) {
for (int j = 1; j <= m; ++j) {
for (int k = 1; k <= m; ++k) {
mp[a[1] * i - a[2] * j + a[3] * k]++;
}
}
}
long long ans = 0;
for (int i = 1; i <= m; ++i) {
for (int j = 1; j <= m; ++j) {
for (int k = 1; k <= m; ++k) {
ans += mp[-(-a[4] * i + a[5] * j - a[6] * k)];
}
}
}
printf("%lld\n", ans);
}
}