NTR酋长
(ntr.pas/.c/.cpp)
黄巨大终于如愿以偿的进入了czy的后宫中……但是czy很生气……他要在黄巨大走到他面前的必经之路上放上几个NTR酋长来阻挡黄巨大。
众所周知,NTR酋长有一个技能是沟壑(F)。它会在地图上产生一条长长的障碍物阻挡人前进。Czy打算在一个n*m的矩形(必经之路?)中放上NTR酋长。NTR酋长要一个一个放下去,而且每放一个都会向四角倾斜的方向放出无限长的沟壑,而已经被沟壑挡住的地方就不能再放NTR酋长了。
请注意:不会出现沟壑的路径挡住另一个沟壑的情况:
应该是这样的
那么给定n、m,求最多放多少个NTR酋长。
样例输入1:
2 2
样例输出1:
2
样例输入2:
4 4
样例输出2:
6
数据范围:
对于24%数据,n,m<=5
对于50%数据,n,m<=20
对于70%数据,n,m<=1000
对于100%数据,n,m<=10^9
对于100%数据,n==m
注意最后一行……n=m
结论题啊
原来我以为随便什么矩形都行,结果只有正方形才有
对于n*n的正方形,最多放2n-2个国际象棋的主教
比如对于3*3的棋盘,我们这样编号
123
234
345
一共2n-1个编号
同号的位置中最多只能放一个主教
因为是正方形,所以存在1、5不能同时存在的情况
所以2n-2
n=1的情况要记得特判
#include<cstdio> int a,b; int calc(int a,int b) { if(a==1&&b==1)return 1; if (a==b)return a+b-2; } int main() { freopen("ntr.in","r",stdin); freopen("ntr.out","w",stdout); scanf("%d%d",&a,&b); printf("%d ",calc(a,b)); }