
追加100分求解此编程题
用c++求解此题:设计程序在棋盘上放尽可能多的马,以使相互间不能被吃掉。最后给出最大可放置的马的数量及其放置方法。发我邮箱zhanghongzhu1@qq.com(清注明...
用c++求解此题:设计程序在棋盘上放尽可能多的马,以使相互间不能被吃掉。最后给出最大可放置的马的数量及其放置方法。发我邮箱zhanghongzhu1@qq.com(清注明是谁发的,我好给分,谢谢),只要符合题意,绝对追加100分,骗子闪一边,打酱油的躲墙角去,无关答案不要乱发,绝不食言!!!!!!!!!!!!
我要的是C++,面向对象⊙﹏⊙b汗,那个sunlight123456,你的答案我放到vc++上运行了一下,结果如图,貌似不行 展开
我要的是C++,面向对象⊙﹏⊙b汗,那个sunlight123456,你的答案我放到vc++上运行了一下,结果如图,貌似不行 展开
5个回答
展开全部
#include <iostream>
using namespace std;
const int N=20;
char out[4]="__H";
int map[N][N];
int max=0;
main()
{
int i,j;
max=N*N/2;
if(N%2==1)
max++;
if(N>2)
{
for(i=0;i<N;i++)
{
if(i%2==0)
{
for(j=0;j<N;j+=2)
map[i][j]=2;
}
else
{
for(j=1;j<N;j+=2)
map[i][j]=2;
}
}
}
if(N==1)
{
map[0][0]=2;
}
if(N==2)
{
map[0][0]=2;
map[0][1]=2;
map[1][0]=2;
map[1][1]=2;
}
cout<<max<<endl;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<out[map[i][j]];
cout<<endl;
}
}
你给的图就是最佳答案啊。你还能找出一种排布比这种排布要多吗?或者你发现图中有马能相互攻击?
H代表马,_代表空格。(可以在char out[4]="__H";中修改)
using namespace std;
const int N=20;
char out[4]="__H";
int map[N][N];
int max=0;
main()
{
int i,j;
max=N*N/2;
if(N%2==1)
max++;
if(N>2)
{
for(i=0;i<N;i++)
{
if(i%2==0)
{
for(j=0;j<N;j+=2)
map[i][j]=2;
}
else
{
for(j=1;j<N;j+=2)
map[i][j]=2;
}
}
}
if(N==1)
{
map[0][0]=2;
}
if(N==2)
{
map[0][0]=2;
map[0][1]=2;
map[1][0]=2;
map[1][1]=2;
}
cout<<max<<endl;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<out[map[i][j]];
cout<<endl;
}
}
你给的图就是最佳答案啊。你还能找出一种排布比这种排布要多吗?或者你发现图中有马能相互攻击?
H代表马,_代表空格。(可以在char out[4]="__H";中修改)

2025-07-16 广告
领课题库支持单选、填空、编程题等12种题型,可随机组卷。防作弊功能包括人脸识别、IP限制,某高校用其组织10万人在线考试无故障。领课多端适配:电脑Web、安卓/iOS APP、微信小程序、H5。学员可碎片化学,数据实时同步,某网校APP端用...
点击进入详情页
本回答由领课提供
展开全部
田字型排列。
也就是 (x+2,y+2)
也就是 (x+2,y+2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-27
展开全部
貌似你的题目描述有点偏啊,是中国象棋么 还是国际象棋啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去搜下皇后问题吧,只是把皇后换成了马。吃子方式上一点小变化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LZ 我不太理解你的意思了。。
二楼的程序 有啥不对吗?
你说的要求C++
是要求编译器 还是面向对象的编程啊。。。
二楼的程序 有啥不对吗?
你说的要求C++
是要求编译器 还是面向对象的编程啊。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询