UVA644

UVA644题意:输入多个序列,判断是否存在前缀关系。思路如下:现

大家好,又见面了,我是你们的朋友全栈君。

题意:输入多个序列,判断是否存在前缀关系。思路如下:先按照长度大小排序,再用两重循环,依次判断每一个序列是否存在前缀。

#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;

#define N 101
#define M 50

struct T{
	char str[M];
};

int cmp(const T &a, const T &b)
{
	return strlen(a.str) < strlen(b.str);
}

int main()
{
	T tem[N];
	int cnt = 0;
	int t = 1;
	int bo = 0;
	while(cin >> tem[cnt].str)
	{
		if (strcmp(tem[cnt++].str, "9"))
			continue;

		sort(tem, tem + cnt, cmp);

		for (int i = 0; i < cnt; i++)
		{
			int k = strlen(tem[i].str);
			for (int j = i + 1; j < cnt; j++)
			{
				if (strncmp(tem[i].str, tem[j].str, k) == 0)
				{
					bo = 1;
					break;
				}
			}

			if (bo)
				break;
		}
			
		if (bo)
			cout << "Set " << t++ << " is not immediately decodable" << endl;	
		else
			cout << "Set " << t++ << " is immediately decodable" << endl;
		
		// Init.
		memset(tem, 0, sizeof(tem));
		bo = 0;
		cnt = 0;
	}
	return 0;}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149388.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 管道socket什么意思_pipe是什么意思

    管道socket什么意思_pipe是什么意思在看Android输入系统的时候,第一次看到socketpair,发现和管道非常相似。唯他们的区别就是socketpair,默认支持全双工,而pipe是半双工的。他们一样只能用在父子进程或者线程之间通信。下面分别以socketpair和管道实现全双工通信。管道实现线程间全双工通信#include#include#include#

    2022年10月14日
  • vim搜索及高亮取消

    vim搜索及高亮取消1.命令模式下,输入:/字符串比如搜索user,输入/user按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串2.查看下一个匹配,按下n(小写n)3.跳转到上一个匹配,按下N(shift+n)4.搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?命令模式下,输入:nohlsearch也可以:setnohlsearch;当然,可以简写,noh或者setnoh。…

  • JavaScript正则表达式的练习

    JavaScript正则表达式的练习JavaScript正则表达式的练习

  • 「从零单排canal 07」 parser模块源码解析

    「从零单排canal 07」 parser模块源码解析

    2020年11月19日
  • 浅谈如何带领好一个团队

    实习回来之后,小编接手了一个新的项目,市委组织部考核项目,听着有没有很高大上,因为这个项目是给国家机关做的,跟他们打交道,小编的心情只能用两个字来形容,呵呵,但是没有关系,这么难缠的客户,小编都能处理的游刃有余,以后还有啥,老师特别关爱小编,让小编担任这次项目的负责人,说实话,感觉自己还没有被别人带过做项目,怎么一转眼之间,小编就要开始带别人了呢?万一把人家带坑里了,怎么办?后来想想,坑越多越好,

  • 计算机cmd入门,教大家5个装逼用的CMD命令,让人一看你就是个电脑高手

    计算机cmd入门,教大家5个装逼用的CMD命令,让人一看你就是个电脑高手很多电脑小白使用电脑时,只会用鼠标点来点去的,教大家5个装逼用的CMD命令,让人一看你就是个电脑高手,专门震慑小姐姐、小学生。首先我们需要打开CMD命令提示符,这个操作大家都知道,按下键盘上的Windows+R键,然后输入“CMD”,按下回车键。一、改变命令提示符配色我们可以先输入“Color”—“空格”—“help”,来获取颜色的帮助。从这里可以看到,各种颜色的代码:0~7、A~F。如果想…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号