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;}

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ios防止更新描述文件(ios13屏蔽系统更新描述文件)

    我们以前分享过关于iOS系统屏蔽系统更新提示的方法,但是可能文章中提及的App过于敏感,文章被删除了!刚好有人问iOS系统更新提示怎么去掉?而前段时间描述文件又更新了可以使用了,由于前段时间没有更新,今天我们分享一下详细方法,与以前的通用方法(被删除了的)相比,更加简单!虽说相比简单,但是不同人难易程度的标准可能不同,教程还得详细点,有些步骤会的可以直接跳过!该方法相比的话,比较简单,…

    2022年4月11日
  • python游戏代码200行_python做贪吃蛇

    python游戏代码200行_python做贪吃蛇python语言,总所周知是比较简单的,而且代码也不会像java那样多,下面就使用python的第三方库pygame进行开发一个贪吃蛇游戏。1.pygame的安装直接在cmd当中使用pipinstallpygame进行安装。或者在pycharm当中自动导入安装也OK2.全局变量的定义在代码当中会使用到很多这种变量的值,直接在最开始进行定义,后面获取变量即可W=600#屏幕宽H=400#高fps=12#帧率size=(W,H)ROW=

    2022年9月5日
  • python字典和json字符串相互转化的方法_Python读取json

    python字典和json字符串相互转化的方法_Python读取json序列化与反序列化按照某种规则,把内存中的数据保存到文件中,文件是一个字节序列,所以必须要把内存数据转换成为字节序列,输出到文件,这就是序列化;反之,从文件的字节恢复到内存,就是反序列化;pytho

    2022年7月28日
  • 关于java的垃圾回收机制,下面哪些结论_java垃圾回收算法有哪些

    关于java的垃圾回收机制,下面哪些结论_java垃圾回收算法有哪些本篇文章介绍了Java的垃圾回收机制、引用类型、JVM一次完整的GC流程、垃圾回收算法以及经典的垃圾回收器

    2022年8月31日
  • 电机的力矩计算

    电机的力矩计算1.转动惯量的公式1.1转矩如何计算转矩等于转动惯量乘以角加速度,然后我们要注意一下单位,转矩的单位是NM,转动惯量的单位是kg*m2,角加速度单位是rad/s2。M=I*BM是转矩,I是转动惯量,B是角加速度。1.2关于单位转矩=转动惯量*角加速度,转矩单位是N.m,转动惯量单位是Kg.m^2,那么角加速度单位是什么,如果是rad/s^2,怎么推算的?rad不是物理量单位,是角度单位,以rad做角度单位时,rad无需写明,除非强调时。即角速度单位就是s^-1,角加速度单

    2022年5月14日
  • 使用.NET Reflector

    使用.NET Reflectorl.NETReflector是一个类浏览器和反编译器,利用反射机制来分析程序集,以展示程序集中各种类型及其成员的信息。l下载.NETReflector:http://www.aisto.com/roeder/dotnetl通过菜单File->Open加载要分析的程序集,在左边的树型浏览器中可以看到该程序集包含的名字…

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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