酷代码 AI
菜单
服务商

用C++解决相邻格子数奇偶性问题

```cpp #include <iostream> using namespace std; const int MOD = 100003; // 快速幂函数,用于计算 a^b % MOD long long quickPow(long long a, long long b) { long long res = 1; while (b > 0) { if (b & 1) { res = (res * a) % MOD; } a = (a * a) % MOD; b >>= 1; } return res; } int main() { int n, m; cin >> n >> m; // 总的填数情况数,每个格子有 m 种选择,共 n 个格子 long long total = quickPow(m, n); // 计算相邻格子奇偶性不同的情况数 // 当第一个格子有 m 种选择,第二个格子为了保证奇偶性不同,有 m - (m / 2) 种选择(奇数个数或偶数个数) long long oddEven = m; for (int i = 1; i < n; i++) { oddEven = (oddEven * (m - (m / 2))) % MOD; } // 存在相邻格子奇偶性相同的情况数 = 总的情况数 - 相邻格子奇偶性不同的情况数 long long ans = (total - oddEven + MOD) % MOD; cout << ans << endl; return 0; } ``` ######[AI问答 | 366点数解答 | 2026-05-16 20:05:02]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]