uva_644暴力加字典树解法
暴力
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int main()
{
int t=0,i=0;
char s[10][12];
bool a[12][12];
memset(s,'\0',sizeof(s));
while(scanf("%s",s[i])!=EOF)
{
if(s[i][0]=='9')
{
t++;
int state=1;
memset(a,false,sizeof(a));
for(int j=0;j<i;j++)
for(int k=j+1;k<=i;k++)
for(int l=0;s[j][l]!='\0'&&s[k][l]!='\0';l++)
{if(s[j][l]!=s[k][l])
{a[j][k]=true; //cout<<j<<k<<l<<endl;
}
//cout<<j<<k<<l<<endl;
//cout<<l<<s[k][l]<<endl;
}
for(int j=0;j<i;j++)
for(int k=j+1;k<=i;k++)
if(a[j][k]==false)
state=0;
if(!state)
printf("Set %d is not immediately decodable\n",t);
if(state==1)
printf("Set %d is immediately decodable\n",t);
memset(s,'\0',sizeof(s));
i=0;
}
else
i++;
}
return 0;
}
字典树
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int tree[5000][2];
int w[5000];
int numv=0;
char s[10][12];
void insert(char s[])
{ int u=0;
w[0]++;
int len=strlen(s);
for(int i=0; i<len; i++)
{
if(tree[u][s[i]-'0']==0)
{
tree[u][s[i]-'0']=++numv;
}
u=tree[u][s[i]-'0'];
w[u]++;
}
//cout<<w[1]<<w[2]<<endl;
}
bool find(char s[])
{
int u=0;
int len=strlen(s);
for(int i=0; i<len; i++)
{
u=tree[u][s[i]-'0'];
//cout<<w[u]<<" "<<u<<s[i]<<endl;
if(w[u]==1)
{
return true;
break;
}
}
return false;
}
int main()
{
int t=0,i=0;
bool a[12];
memset(s,'\0',sizeof(s));
while(scanf("%s",s[i])!=EOF)
{
if(s[i][0]=='9')
{
numv=0;
memset(tree,0,sizeof(tree));
memset(w,0,sizeof(w));
memset(a,false,sizeof(a));
t++;
int state=1;
for(int j=0; j<i; j++)
insert(s[j]);
for(int j=0; j<i; j++)
if(find(s[j])==true)
{
a[j]=true;
} for(int j=0; j<i; j++)
if(a[j]==false)
{state=0; //cout<<j<<"as"<<endl;
}
if(!state)
cout<<"Set "<<t<<" is not immediately decodable"<<endl;
else
cout<<"Set "<<t<<" is immediately decodable"<<endl;
memset(s,'\0',sizeof(s));
i=0;
}
else
i++;
}
return 0;
}
uva_644暴力加字典树解法的更多相关文章
- Chip Factory(HDU5536 + 暴力 || 01字典树)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5536 题目: 题意: 对于给定的n个数,求出三个下标不同的数使得(si+sj)^sk最大. 思路: ...
- Codeforces 979 字符串强制N变换最多出现字母 DFS子树 暴力01字典树
A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...
- hdu 2896 字典树解法
#include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> ...
- HDU 5536 Chip Factory (暴力+01字典树)
<题目链接> 题目大意: 给定一个数字序列,让你从中找出三个不同的数,从而求出:$\max_{i,j,k} (s_i+s_j) \oplus s_k$的值. 解题分析:先建好01字典树,然 ...
- Educational Codeforces Round 12 E. Beautiful Subarrays 字典树
E. Beautiful Subarrays 题目连接: http://www.codeforces.com/contest/665/problem/E Description One day, ZS ...
- hust 1605 - Gene recombination(bfs+字典树)
1605 - Gene recombination Time Limit: 2s Memory Limit: 64MB Submissions: 264 Solved: 46 DESCRIPTION ...
- Phone List POJ-3630 字典树 or 暴力
Phone List POJ-3630 字典树 or 暴力 题意 目前有 t 组数据, n 个电话号码,如果拨打号码的时候 先拨通了某个号码,那么这一串号码就无法全部拨通. 举个例子 911 和 91 ...
- hdu5536 Chip Factory 字典树+暴力 处理异或最大 令X=(a[i]+a[j])^a[k], i,j,k都不同。求最大的X。
/** 题目:hdu5536 Chip Factory 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5536 题意:给定n个数,令X=(a[i]+a[j] ...
- 从Trie树(字典树)谈到后缀树
转:http://blog.csdn.net/v_july_v/article/details/6897097 引言 常关注本blog的读者朋友想必看过此篇文章:从B树.B+树.B*树谈到R 树,这次 ...
随机推荐
- HDU 5654 xiaoxin and his watermelon candy 离线树状数组
xiaoxin and his watermelon candy Problem Description During his six grade summer vacation, xiaoxin g ...
- mysqil操作数据库
mysqil操作数据库 每次用到mysql_connect连接数据库的时候都会提示: 1 Deprecated: mysql_connect(): The mysql extension is dep ...
- Java-MyBatis:MyBatis 中 in 的用法
ylbtech-Java-MyBatis-杂项:MyBatis 中 in 的用法 1.返回顶部 1. foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元 ...
- [jzoj 6092] [GDOI2019模拟2019.3.30] 附耳而至 解题报告 (平面图转对偶图+最小割)
题目链接: https://jzoj.net/senior/#main/show/6092 题目: 知识点--平面图转对偶图 在求最小割的时候,我们可以把平面图转为对偶图,用最短路来求最小割,这样会比 ...
- 【转】使用Docker+Jenkins自动构建部署
转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...
- 移动App测试点
移动互联网App测试点包括: 1.安全测试 1)软件权限 -扣费风险:包括发送短信.拨打电话.连接网络等 -隐私泄露风险:包括访问手机信息.访问联系人信息等 -新增风险项 2)开发者官方权限列表信息比 ...
- marge into操作
动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作. 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录 ...
- 又一个设计工具 Framer X Preview
又一个设计工具 Framer X Preview 所说比 Sketch 和 Figma 都要好用,不知道是不是真的 ~~ To give you a little background, I've b ...
- CSS实现栅格布局
CSS实现栅格布局 设置容器container: .grid-container { width: 100%; max-width: 1200px; } 清除浮动: .row:before, .row ...
- Java 多线程(二)synchronized和volatile
脏读: 脏读指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据.总的来说取到的数据是其实是被更改过的,但还没有保存到数 ...