题解 | #翻转翻转#(不理解,请留下评论,必回)
翻转翻转
http://www.nowcoder.com/practice/ad11db28e0f44a1c97af06fd002477a1
当m==n==1时,结果是1
其他状态为求蓝色部分
蓝色部分=(m-2)*(n-2)
#include<stdio.h>
#include<math.h>
int main()
{
long long t,n,m;
long long tmp;
scanf("%d",&t);
for(int i=0;i<t;i++){
scanf("%d %d",&n,&m);
if(n==1||m==1){
if(n==m){
printf("1\n");
}
else{
printf("%d\n",abs(m-n)-1);
}
}
else{//可以替换为(m-2)*(n-2)(这个是数学逻辑,展开后就是下方内容)
tmp=n*m;
tmp-=2*(n+m)-4;
printf("%lld\n",tmp);
}
}
return 0;
}
#include<math.h>
int main()
{
long long t,n,m;
long long tmp;
scanf("%d",&t);
for(int i=0;i<t;i++){
scanf("%d %d",&n,&m);
if(n==1||m==1){
if(n==m){
printf("1\n");
}
else{
printf("%d\n",abs(m-n)-1);
}
}
else{//可以替换为(m-2)*(n-2)(这个是数学逻辑,展开后就是下方内容)
tmp=n*m;
tmp-=2*(n+m)-4;
printf("%lld\n",tmp);
}
}
return 0;
}