#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
//freopen("aaa.txt","r",stdin);
//freopen("1.txt","w",stdout);
int x,y;
while(cin>>x>>y)
{
int row=x,col=y;
if(x==0&&y==0) break;
int r=0;
if(x>y) swap(x,y);
if (x==2)
{
if(y%4==0) r=y;
else if(y%4==2) r=y+2;
else r=y+1;
}
else if(x==1) r=y;
else r=(x*y+1)/2;
printf("%d knights may be placed on a %d row %d column board./n",r,row,col);
}
return 0;
}
本文介绍了一个用于计算在不同尺寸的棋盘上可以放置的最大数量骑士的算法。该算法通过条件判断实现,针对不同的棋盘行数和列数,采用特定的计算方式得出结果,并考虑了边界情况。
279

被折叠的 条评论
为什么被折叠?



