字符重排

article/2025/5/22 1:47:09
输入一个字典(用******结尾),然后再输入若干单词。每输入一个单词w,你都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典次序从小到大的顺序在一行中输出(如果不存在,输出:}).输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成.注意,字典中的单词不一定案子点序列排列.样例输入:tarp given score refund only trap work earn course pepper part
******
resco nfudre aptr sett oresuc
样例输出:scorerefundpart tarp trap:)course


/*
算法核心思想:把各个字母排序,然后直接比较,
所以我们可以在读入时就把每个单词按照字母排好序,就
不必每次重排啦,而且只要在读入字典之后把所有单词排序,
就可以每遇到一个满足条件的单词就马上输出. 
*/#include <stdio.h>
#include <stdlib.h>
#include <string.h>char word[1000][10],sorted[1000][10];//字符比较函数
int cmp_char(const void *a,const void *b)
{return *(char *)a - *(char *)b;
} //字符串比较函数
int cmp_string(const void *a,const void *b)
{return strcmp((char *)a,(char *)b);
} int main()
{int n = 0;while(1){scanf("%s",word[n]);if(word[n][0] == '*') break;n++;} qsort(word,n,sizeof(word[0]),cmp_string);	//给所有单词排序for(int i=0;i<n;i++){strcpy(sorted[i],word[i]);		//原始单词需要保存下来qsort(sorted[i],strlen(sorted[i]),sizeof(char),cmp_char);	//给每个单词排序 } char s[10];while(scanf("%s",s) == 1)		//持续读到文件结尾{qsort(s,strlen(s),sizeof(char),cmp_char);		//给输入单词排序int found = 0;		//定义一个是否找到的标志for(int i=0;i<n;i++){if(strcmp(sorted[i],s) == 0){found = 1;printf("%s ",word[i]);}} if(!found)printf(":(");printf("\n"); } return 0;
}


//学习自《算法竞赛入门经典》,加油!


http://chatgpt.dhexx.cn/article/IZUiK8Vx.shtml

相关文章

volatile指令重排

计算机在执行程序时&#xff0c;为了提高性能&#xff0c;编译器和处理器常常会对指令重排&#xff0c;一般分为以下三种&#xff1a; 源代码 -> 编译器优化的重排 -> 指令并行的重排 -> 内存系统的重排 -> 最终执行指令 单线程环境里面确保最终执行结果和代码顺…

【Leetcode——重排链表】

文章目录 一、重排链表思路1.思路2. 总结 一、重排链表 对于这道题&#xff0c;有两种思路&#xff1a; 思路1. 1.使用一个线性表&#xff0c;存储链表中的每个节点&#xff0c;然后按照题目的条件&#xff0c;来链接线性表的各个节点即可。 使用左下标和右下标来定位线性表中…

什么是重绘和重排? 如何去避免?

前言 面试官&#xff1a;既然你刚刚提到了重绘和重排&#xff0c;那就说一说吧。 我&#xff1a;。。。&#x1f4a5; 我们首先来回顾一下渲染流水线的流程: 回流 首先介绍回流。回流也叫重排。 触发条件 简单来说&#xff0c;就是当我们对 DOM 结构的修改引发 DOM 几何尺寸…

jvm指令重排

JVM会在不影响正确性的前提下调整语句&#xff08;指令&#xff09;的顺序。 例如下代码&#xff1a; static int i; static int j; // 在某个线程内执行如下赋值操作 i ...; j ...; //可以看到&#xff0c;至于是先执行 i 还是 先执行 j &#xff0c;对最终的结果不会产生…

CSS重排与重绘总结

昨天面试被问到了什么是重排和重绘&#xff0c;回答的并不是很好&#xff0c;下面来总结一下&#xff1a;关于CSS重排和重绘的概念&#xff0c;在制作中考虑浏览器的性能&#xff0c;减少重排能够节省浏览器对其子元素及父类元素的重新渲染&#xff1b;避免过分的重绘也能节省浏…

Leetcode之重排链表

文章目录 前言一、线性表二、寻找链表中点 链表逆序 合并链表总结 前言 题目如下&#xff1a; 重排链表(点我&#xff09; 一、线性表 因为链表不能下标访问元素&#xff0c;所以我们不能随机访问链表中的元素&#xff0c;因此我们采用数组来存储链表中的每一个元素。利用…

推荐算法架构4:重排

系列文章,请多关注 推荐算法架构1:召回 推荐算法架构2:粗排 推荐算法架构3:精排 推荐算法架构4:重排 1 总体架构 重排主要解决三大问题:用户体验

Cadence Orcad元器件位号重排与原理图页序号重排

一.为什么需要元器件位号重排 在画原理图的过程中&#xff0c;增删改的操作是很多的&#xff0c;这使得元器件位号是通常是混乱的。在绘制完成后&#xff0c;通常需要重排一下位号&#xff0c;这样同一功能块的元器件位号是相邻的&#xff0c;这使得画PCB时能比较方便的确定某一…

你真的了解重排和重绘吗?

做过前端开发的小伙伴就算不是非常理解重排与重绘&#xff0c;但是肯定都听过这两个词。那为什么这两个东西这么重要&#xff1f;因为他与我们的页面性能息息相关&#xff0c;今天&#xff0c;我们就来好好研究一下这两个东西。 浏览器的渲染流程 在讲解重排和重绘之前&#…

简单易懂之什么是重排和重绘?

文章目录 目录 一、浏览器页面是怎么生成的&#xff1f; 二、什么是重排和重绘&#xff1f; 1.什么时候发生重绘&#xff1f; 2.如何优化重排效率&#xff1f; 一、浏览器页面是怎么生成的&#xff1f; 首先让我们来先了解一下浏览器页面生成的过程 文字解析&#xff1a; 1&am…

重排(回流)和重绘

什么是重排和重绘 浏览器下载完页面所有的资源后&#xff0c;就要开始构建DOM树&#xff0c;与此同时还会构建渲染树(Render Tree)。&#xff08;其实在构建渲染树之前&#xff0c;和DOM树同期会构建Style Tree。DOM树与Style Tree合并为渲染树&#xff09; 浏览器下载完成所有…

什么是重排和重绘

简答 1.重排&#xff08;重新排列&#xff09;> 指元素的位置发生改变的时候浏览器会进行重排 2.重绘&#xff08;重新绘制&#xff09;>指元素的基本样式发生改变是发生重绘&#xff0c;比如颜色等。。。 细答 前提概要&#xff08;浏览器使用两个引擎进行工作一是渲…

Docker之发布自己的镜像

首先应当是先登入 其次是将镜像重新打包 在此处使用命令 docker commit fb6af4e48c14 zlx/centos7_vim:1.0 将一个容器生成一个新的镜像 然后把这个镜像改成dockerhub的仓库名&#xff0c;push一下就行了&#xff0c;dockerhub毕竟是国外的网站&#xff0c;换成阿里云就好了

Matlab调用excel数据绘制折线图

如题&#xff0c;matlab之前没接触过&#xff0c;但是电脑上一直有安装&#xff0c;有些老师需要做几张图放论文里&#xff0c;所以尝试了一下&#xff08;excel其实效果也行&#xff0c;但matlab感觉更专业&#xff09; x2:2:778;%x轴上的数据&#xff0c;第一个值代表数据开…

COGS 2075. [ZLXOI2015][异次元圣战III]ZLX的陨落

★★☆ 输入文件&#xff1a;ThefallingofZLX.in 输出文件&#xff1a;ThefallingofZLX.out 简单对比时间限制&#xff1a;1 s 内存限制&#xff1a;256 MB 【题目描述】 正当革命如火如荼&#xff0c;情侣教会日薄西山之时&#xff0c;SOX和FFF的分歧却越来越大&#…

Codechef GRAPHCNT 支配树学习及tarjan算法求解

[Codechef GRAPHCNT]新年的有向图 【题目描述】 zlx同学在学习数论时,被虐了一脸,丧心病狂的他决定去报复社会。 zlx在公园里埋下N颗地雷,用来炸飞在春节期间秀恩爱的情侣。这N颗地雷由M条有向边连接成为一个有向图,zlx则在1号地雷处引爆1号地雷可以到达的地雷。现在,为了…

大数据体系建设经验分享

分享嘉宾&#xff1a;吴荣彬 分贝通 大数据部负责人 编辑整理&#xff1a;zlx 出品平台&#xff1a;DataFunTalk 导读&#xff1a;本文将介绍分贝通在大数据领域的一些建设经验。分贝通在ToB领域是一个年轻的公司&#xff0c;成立六年多&#xff0c;大数据体系刚刚建立一年多&a…

将二维数组转为稀疏数组进行压缩,提高效率

** 稀疏数组 ** ##基本介绍&#xff1a; 当一个数组中大部分元素为&#xff10;&#xff0c;或者为同一个值的数组时&#xff0c;可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1) 记录数组一共有几行几列&#xff0c;有多少个不同的值 2) 把具有不同值的元素的行列…

A数字三角 怨种

问题描述 有一天&#xff0c;无聊的 zlx 从 1 开始数数&#xff0c;同时在纸上写下每个数的个位数字。因为她非常热爱直角三角形&#xff0c;所以在纸上写下的数字按照直角三角形排列。现在告 诉你写她了 N 行数字&#xff0c;要求你打出这些数字。 输入格式 一行一个数 N&a…

聊聊Spring的IOC,AOP、DI、MVC

1 聊聊Ioc,Di,Mvc,Aop 不想看下面内容的&#xff0c;直接上代码连接&#xff0c;以下代码都有注释 传送门 1.1 看启动项 我们先来看看启动项 package com.tian;import com.tian.springframework.annotation.SpringBootApplication; import com.tian.springframework.config…