湖南省大学生计算机程序设计竞赛(残缺的棋盘)
来源:互联网 发布:广州房地产交易数据 编辑:程序博客网 时间:2024/05/16 08:23
1511: 残缺的棋盘
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 680 Solved: 244
[Submit][Status][Web Board]
Description
Input
输入包含不超过10000 组数据。每组数据包含6个整数r1, c1, r2, c2, r3, c3 (1<=r1, c1, r2, c2, r3, c3<=8). 三个格子A, B, C保证各不相同。
Output
对于每组数据,输出测试点编号和最少步数。
Sample Input
1 1 8 7 5 61 1 3 3 2 2
Sample Output
Case 1: 7Case 2: 3
#include <iostream>#include <stdio.h>#include<queue>#include<string.h>using namespace std;int sx,sy,ex,ey,nx,ny,rr,a[9][9],now[1000][2],nextt[1000][2],nex;int h[8]= {-1,-1,-1,0,0,1,1,1}, l[8]= {-1,0,1,-1,1,-1,0,1};void bfs(int x,int y){ for(int i=0; i<8; i++) { if(x+h[i]>=1&&x+h[i]<=8&&y+l[i]>=1&& y+l[i]<=8&&a[x+h[i]][y+l[i]]==0) { if(x+h[i]==ex&&y+l[i]==ey) rr=0; a[x+h[i]][y+l[i]]=1; nextt[nex][0]=x+h[i]; nextt[nex++][1]=y+l[i]; } }}int main(){ int u=0; while(~scanf("%d%d%d%d%d%d",&sx,&sy,&ex,&ey,&nx,&ny)) { memset(a,0,sizeof(a)); a[nx][ny]=1; int no=1; now[0][0]=sx; now[0][1]=sy; rr=1; int oo=0; while(rr) { nex=0; for(int i=0; i<no; i++) { bfs(now[i][0],now[i][1]); } for(int i=0; i<nex; i++) { now[i][0]=nextt[i][0]; now[i][1]=nextt[i][1]; } oo++; no=nex; } printf("Case %d: %d\n",++u,oo); } return 0;}
0 0
- 湖南省大学生计算机程序设计竞赛(残缺的棋盘)
- 湖南省第十届大学生计算机程序设计竞赛:残缺的棋盘
- 湖南省第十届大学生计算机程序设计竞赛----残缺的棋局
- 湖南省第六届大学生计算机程序设计竞赛---弟弟的作业
- [湖南省第六届大学生计算机程序设计竞赛]弟弟的作业
- 湖南省第七届大学生计算机程序设计竞赛---机器人的指令
- 湖南省第六届大学生计算机程序设计竞赛 弟弟的作业
- 湖南省第六届大学生计算机程序设计竞赛 战场的数目
- 湖南省第十一届大学生计算机程序设计竞赛 错误的算法
- 盒子游戏(湖南省第七届大学生计算机程序设计竞赛)
- 盒子游戏(湖南省第七届大学生计算机程序设计竞赛)
- 多连块拼图(湖南省第七届大学生计算机程序设计竞赛)
- 病毒(湖南省第八届大学生计算机程序设计竞赛)
- 好老师 (湖南省第九届大学生计算机程序设计竞赛)
- (湖南省大学生计算机程序设计竞赛)阶乘除法 (暴力)
- 第十二届湖南省大学生计算机程序设计竞赛(热身赛)
- Interesting Calculator( 湖南省第九届大学生计算机程序设计竞赛)
- 湖南省第九届大学生计算机程序设计竞赛
- 设置双卡不同的来电默认铃声
- 图结构练习——判断给定图是否存在合法拓扑序列
- java中的那些坑(一)
- java一道多线程题,子线程循环10次,主线程接着循环100次,如此循环50次的问题
- js格式化日期
- 湖南省大学生计算机程序设计竞赛(残缺的棋盘)
- db2-event monitor
- 虚拟机sandbox启动不起来的原因
- 网易_在数组中查找前K个元素
- MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?
- C++ hdoj 2018 母牛的故事
- 汇总先
- 设计模式-装饰模式
- KMP详解