题目名称 23. [HAOI 2005]寻找编码串
输入输出 codestring.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 6
题目来源 Gravatarcqw 于2008-04-10加入
开放分组 全部用户
提交状态
分类标签
HAOI 搜索法
分享题解
通过:2, 提交:39, 通过率:5.13%
GravatarCAX_CPG 100 0.063 s 0.21 MiB Pascal
GravatarCAX-DY 100 0.298 s 0.19 MiB Pascal
GravatarCAX-DY 83 0.005 s 0.25 MiB Pascal
GravatarCAX_CPG 83 0.073 s 0.15 MiB Pascal
GravatarCAX_CPG 83 0.083 s 0.15 MiB Pascal
GravatarCAX-DY 83 0.293 s 0.22 MiB Pascal
GravatarCAX-DY 83 1.002 s 0.22 MiB Pascal
GravatarCAX_CPG 83 1.040 s 0.18 MiB Pascal
GravatarCAX-DY 67 1.003 s 0.23 MiB Pascal
GravatarJoel_12 50 0.061 s 0.28 MiB C++
关于 寻找编码串 的近10条评论(全部评论)
freopen("area0.in","r",stdin);freopen("area0.out","w",stdout);
int ll=0;
cin>>a>>b;
for(int z=1;z<=a;z++)
for(int y=1;y<=b;y++)
cin>>u[z][y];
i(0,0);
for(int z=1;z<=a;z++)
for(int y=1;y<=b;y++)
{
if(u[z][y]=='0')
ll++;}
cout<<ll;
}
Gravatar10001
2019-06-17 19:42 4楼
#include<bits/stdc++.h>
using namespace std;
char u[102][102];
int a,b;
void i(int x,int y)
{
u[x][y]='^';
if((u[x][y+1]=='0'||u[x][y+1]==0)&&y<=b)
i(x,y+1);
if((u[x+1][y]=='0'||u[x+1][y]==0)&&x<=a)
i(x+1,y);
if((u[x][y-1]=='0'||u[x][y-1]==0)&&y>=1)
i(x,y-1);
if((u[x-1][y]=='0'||u[x-1][y]==0)&&x>=1)
i(x-1,y);
}
int main()
{
Gravatar10001
2019-06-17 19:42 3楼
@CAX_CPG 大神求代码
GravatarFoenix
2014-10-15 06:10 2楼
CAX大神求算法
Gravatardigital-T
2013-04-11 09:00 1楼

23. [HAOI 2005]寻找编码串

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

【问题描述】

  给定 $N$ 个由 $0$ 和 $1$ 组成的编码 $S_1,S_2,…,S_n$, 寻找一个长度最短的编码串 $T$,使得 $T$ 至少可以分解出两种不同的 $S_i$ 的排列,在排列中有的编码可以不出现。
例如:$S_1=0110,S_2=00,S_3=111,S_4=001100,S_5=110$,编码串 $T=001100110,T$ 有两种不同的分解 $T=S_2+S_5+S_1,T=S_4+S_5$。

【输入文件】

第 $1$ 行:$N$(编码的个数 $N<=20$)

第 $2 \sim N+1$行:$S_i$(第 $i$ 个编码,$S_i$ 的长度 $\leq 50$)

注意,该例子只是对库函数的使用说明,并没有算法上的意义。

【输出文件】

第 $1$ 行:$M$(编码串的长度)

第 $2$ 行:$T$(长度最短的编码串)

【约束条件】

若有多个长度相同且最短的编码串。则输出字典序最小的编码串。

例如:若有两种最短的编码串:$10110010100$ 和 $10001110010$,则输出 $10001110010$。

【样例1输入】

5
0110
00
111
001100
1100

【样例1输出】

6
001100

【数据规模与约定】

对于 $50\%$ 的数据,$N \leq 10 ,|S_i| \leq 12$;

对于 $100\%$ 的数据,$N \leq 20,|S_i| \leq 50$;