排球战队问题
来源:互联网 发布:淘宝交易款项冻结多久 编辑:程序博客网 时间:2024/04/29 00:42
源代码如下:
“`
#include
using namespace std;
int main()
{
int positionCan[6][6];/运动员对于某个位置能不能站,0代表能,1代表能/
int position[6];/运动员的最终站位/
int judge[6];//判断某个位置是否已经有人,1代表有人,0代表无人
for (int i=0;i<6;i++)//运动员编号
{
for (int j = 0;j<6;j++)//位置编号
{
if (i == j)
{
positionCan[i][j] = 0;
}
else
{
positionCan[i][j] = 1;
}
}}for (int i=0;i<6;i++){ judge[i] = 0;//初始为0}for (int i=0;i<6;i++){ position[i] = -1;//刚开始,所有运动员都没有位置站}positionCan[0][4] = 0;//1号队员不在后排positionCan[0][5] = 0;//1号队员不在后排positionCan[1][4] = 0;//2号队员不是二传手positionCan[2][1] = 0;//3号队员不是二传手positionCan[2][4] = 0;//3号队员不是二传手positionCan[4][2] = 0;//5号队员不是副攻手positionCan[4][5] = 0;//5号队员不是副攻手positionCan[5][2] = 0;//6号队员不是副攻手positionCan[5][0] = 0;//6号队员不能站后排positionCan[5][4] = 0;//6号队员不能站后排int i=0,;int j=0;while (i<6){ j = 0; while (j<6) { if (i==3)//第四位运动员和第三位运动员不能在同一排 { if (position[2] == 3)//如果3号队员站到了4号位(即唯一的前排可能),则4号队员应站后排 { positionCan[3][1] = 0; positionCan[3][2] = 0; positionCan[3][3] = 0; } else { positionCan[3][0] = 0; positionCan[3][4] = 0; positionCan[3][5] = 0; } } else//如果回溯的话,需要对第四位队员进行恢复,否则会发生错误,因为它的站位限制不固定 { for (int k=0;k<6;k++) { if (k!=3) { positionCan[3][k] = 1; } } } //可以站J号位,且此位无人 if (positionCan[i][j] == 1 && judge[j] == 0) { judge[j] = 1;//i号运动员站j号位 position[i] = j;//i号运动员站j号位 i++; break; } else { j++; } while (j==6)//如果i号运动员没有找到可站的位置,则回溯 { i--; j = position[i] + 1; judge[position[i]] = 0;//没有位置站 position[i] = -1;//前一名运动员重新回到没有位置站的情况 } }}for (int k = 0;k<6;k++){ cout<<"第"<<k+1<<"号队员的站位是:"<<position[k]+1<<endl;}return 0;
}
运行结果:
0 0
- 排球战队问题
- 排球队员站位问题
- 排球
- 排球队员站位问题+回溯思想
- 排球队员站位问题(回溯法)
- 打排球
- 2017秋季排球联赛
- [转载]排球看人生:排球的有理名言
- 菜鸟与排球(BVC篇)
- 打排球的一点点心得
- 动漫推荐之排球少年
- 菜鸟与排球(高中篇)
- 菜鸟与排球(高中篇续)
- 菜鸟与排球(大一篇)
- 菜鸟大排球(大二之看球篇)
- 从google doc转移-排球运动员站位
- 《热浪球爱战》首映 周秀娜现场超低胸打排球
- 菜鸟与排球(大二之灌水篇)
- 【算法之常用排序算法(二)】常用排序算法性能比较,及常见面试题
- 扩展ajax请求
- ASP.NET中读取XML文件4种方法
- (inline) moc 出错 multiple definition of 'geometry_base:: ifAtSameSide::Point const&
- ios 反地理编码,通过地址获得经纬度
- 排球战队问题
- Messager说明
- Linux 内核引导参数简介
- Android:遇见错误
- Unity 之 Shader 面的剔除 Cull - 十二
- 简明解释算法中的大O符号[转]
- 7段使用Android代码之一-----ViewHolder模式解析
- 程序设计操作系统之互斥体
- Zookeeper简介