薛申的方格本(grid)
1000ms
256MB
展开
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
薛申有一个 \(n×m\) 的方格本。
薛申把一个玻璃珠放到一个方格中,然后沿从 上、下、左、右、左上、左下、右上、右下 八个方向中选一个方向,弹一下玻璃珠,玻璃珠会无限地滚动。当玻璃珠滚动到方格本的边缘时,它可以反弹然后继续滚动。当它到达方格本的角上时,它可以原路返回。
薛申发现,玻璃珠会沿着一个固定的线路进行无限循环滚动。
薛申定义:两个线路不同,当且仅当两个线路包含的方格不完全相同(不考虑玻璃珠的具体移动方向)。
玻璃珠在不同的初始位置沿不同的初始方向进行滚动。
薛申想请你计算玻璃珠一共可能有多少种不同的滚动线路。
输入格式
两个整数 \(n,m\)。
输出格式
玻璃珠可能的滚动线路数。
数据范围
- 对于 \(20\%\) 的测试点,满足 \(2≤n,m≤4\)
- 对于 \(100\%\) 的测试点,满足 \(2≤n,m≤10^{18}\)
3 4
9
3 3
9