题目名称 562. 跳房子
输入输出 numgrid.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 9
题目来源 Gravatarcqw 于2011-07-22加入
开放分组 全部用户
提交状态
分类标签
连通性 模拟 递归
分享题解
通过:58, 提交:112, 通过率:51.79%
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
GravatarHyoi_0Koto 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.000 s 0.00 MiB C++
Gravatar卢本伟 100 0.000 s 0.00 MiB C++
Gravatar乌龙猹 100 0.003 s 1.16 MiB C++
Gravatar · 100 0.003 s 1.24 MiB C++
Gravatar · 100 0.004 s 0.83 MiB C++
本题关联比赛
练习12
关于 跳房子 的近10条评论(全部评论)
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
vector<string> v;
void d(int k[5][5],int x,int y,int c,string s){
if(c==1){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
char a=k[i][j]+48;
string ss;
ss+=a;
if(j+1<5){
d(k,i,j+1,c+1,ss);
}
if(j-1>-1){
d(k,i,j-1,c+1,ss);
}
if(i-1>-1){
d(k,i-1,j,c+1,ss);
}
if(i+1<5){
d(k,i+1,j,c+1,ss);
}
}
}
}
else if(c==6){
char a=k[x][y]+48;
s+=a;
int t=0;
for(int i=0;i<v.size
Gravatar
2024-05-28 20:49 6楼
[size=50]递归万岁[/size]
Gravatar增强型图元文件
2018-05-13 17:41 5楼
dfs
Gravatar521
2016-07-12 21:10 4楼
回复 @phoenix :
是么,写的真狗、
Gravatar乌龙猹
2014-11-04 17:52 3楼
dfs又写狗了、、
Gravatar ·
2014-11-04 17:47 2楼
dfs又写狗了、、
Gravatar乌龙猹
2014-11-04 17:44 1楼

562. 跳房子

☆   输入文件:numgrid.in   输出文件:numgrid.out   简单对比
时间限制:1 s   内存限制:128 MiB

"跳房子" [Hal Burch, 2005]

奶牛们按不太传统的方式玩起了小孩子们玩的"跳房子"游戏。奶牛们创造了
一个5x5的、由与x,y轴平行的数字组成的直线型网格,而不是用来在里面跳
的、线性排列的、带数字的方格。

然后他们熟练地在网格中的数字中跳:向前跳、向后跳、向左跳、向右跳
(从不斜过来跳),跳到网格中的另一个数字上。他们再这样跳啊跳(按相同规
则),跳到另外一个数字上(可能是已经跳过的数字)。

一共在网格内跳过五次后,他们的跳跃构建了一个六位整数(可能以0开头,
例如000201)。

求出所有能被这样创造出来的不同整数的总数。

问题名称: numgrid

输入格式:

* 第1到5行: 这样的网格,一行5个整数

输入样例 (numgrid.in):

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1

输出格式:

* 第1行: 能构建的不同整数的总数

输出样例 (numgrid.out):

15

输出详细说明:

111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112,
121211, 121212, 211111, 211121, 212111和 212121 能够被构建。没有其它可
能的数了。