跳到主要内容

题解:P9355 「SiR-1」Checkmate

· 阅读需 1 分钟
lailai
Blogger

原题链接

解题思路

对于每一对相邻格子,先放置的棋子得分加 11,后放置的棋子不加分。

因此得分总和等于相邻格子的对数,具体计算如下:

  • 横向:有 nn 行,每行包含 m1m-1 对,共有 n(m1)n(m-1) 对。
  • 竖向:有 mm 列,每列包含 n1n-1 对,共有 m(n1)m(n-1) 对。

所以相邻格子的总对数为 n(m1)+m(n1)=2nmnmn(m-1)+m(n-1)=2nm-n-m 对。

参考代码

#include <bits/stdc++.h>
using namespace std;

using ll=long long;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
while(T--)
{
ll n,m;
cin>>n>>m;
cout<<n*m*2-n-m<<'\n';
}
return 0;
}