现在的位置: 首页 > 综合 > 正文

2014.8.4我出的模拟赛【NTR酋长】

2018年01月13日 ⁄ 综合 ⁄ 共 738字 ⁄ 字号 评论关闭

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\n",calc(a,b));
}

抱歉!评论已关闭.