题目名称 | 562. 跳房子 |
---|---|
输入输出 | numgrid.in/out |
难度等级 | ☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 9 |
题目来源 | cqw 于2011-07-22加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:58, 提交:112, 通过率:51.79% | ||||
521 | 100 | 0.000 s | 0.00 MiB | C++ |
dateri | 100 | 0.000 s | 0.00 MiB | C++ |
Hyoi_0Koto | 100 | 0.000 s | 0.00 MiB | C++ |
NVIDIA | 100 | 0.000 s | 0.00 MiB | C++ |
NVIDIA | 100 | 0.000 s | 0.00 MiB | C++ |
NVIDIA | 100 | 0.000 s | 0.00 MiB | C++ |
卢本伟 | 100 | 0.000 s | 0.00 MiB | C++ |
乌龙猹 | 100 | 0.003 s | 1.16 MiB | C++ |
· | 100 | 0.003 s | 1.24 MiB | C++ |
· | 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
澜
2024-05-28 20:49
6楼
| ||||
[size=50]递归万岁[/size]
| ||||
dfs
| ||||
回复 @phoenix :
是么,写的真狗、
乌龙猹
2014-11-04 17:52
3楼
| ||||
dfs又写狗了、、
| ||||
dfs又写狗了、、
|
"跳房子" [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 能够被构建。没有其它可
能的数了。