UVA 156 - Ananagrams

Python刷OJ———UVa:156 Ananagrams 题干: Most crossword puzzle fans are used to anagrams — groups of words with the same letters in different orders — for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have this attri... 阅读详情

        首先进行单词的大写转小写,然后重排,所以得保存两份单词进行操作。当然,还要标记这个单词重排后是否出现两次,所以还需要一个flag作为标记。处理完成后,最后还需要按照原先单词的字典顺序输出,所以还需要排一次序。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct _s {
    char a[25];
    char b[25];
    bool flag;
}s[10000];

void trans(char st[]) {
    int len = strlen(st);
    // 大写转小写
    for (int i=0; i<len; i++)
        if (st[i]>='A' && st[i]<='Z')
            st[i] += ('a'-'A');
    // 冒泡排序
    for (int i=len; i>0; i--)
        for (int j=0; j<i; j++) {
            if (st[j] < st[j-1]) {
                char tmp = st[j];
                st[j] = st[j-1];
                st[j-1] = tmp;
            }
        }
}
// 根据b排序
int cmp_b(const void *_a, const void *_b) {
    struct _s *a = (struct _s*)_a;
    struct _s *b = (struct _s*)_b;
    return strcmp(a->b, b->b);
}
// 根据a排序
int cmp_a(const void *_a, const void *_b) {
    struct _s *a = (struct _s*)_a;
    struct _s *b = (struct _s*)_b;
    return strcmp(a->a, b->a);
}

int main() {
    char st[25];
    int n = 0;

    while (scanf("%s", st)) {
        if ('#' == st[0])
            break;
        strcpy(s[n].a, st);
        trans(st);
        strcpy(s[n].b, st);
        n++;
    }

    qsort(s, n, sizeof (s[0]), cmp_b);

    for (int i=1; i<n; i++)
        if (0 == strcmp(s[i].b, s[i-1].b)) {
            s[i].flag = 1;
            s[i-1].flag = 1;
        }

    qsort(s, n, sizeof (s[0]), cmp_a);

    for (int i=0; i<n; i++) {
        if (!s[i].flag)
            printf("%s\n", s[i].a);
    }
    return 0;
}


 

每日算法7 —— UVa156 Ananagrams 阅读详情

相关推荐

UDS(三)网络层时间参数

网络层定义了N_Ar、N_As、N_Br、N_Bs、N_Cr、N_Cs六个时间参数。 网络层在检测到错误的时间传递至上层使用者 1.当N_As 超时时,即发送方没有及时发送出N_PDU,系统将放弃信息的接收并传递<N_Result> = <N_TIMEOUT_A>的N_USData.comfirm指示 2.当N_Ar超时时,即接收方没有及时发送出N_PDU,系统将放弃信息的接收并传递<N_Result> = <N_TIMEOUT_A>的N_USData.co

weixin_44522306的博客 1万+

例题5-4 反片语(Ananagrams,Uva 156)

输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文 本中的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中 的大小写,按字典序进行排列(所有大写字母在所有小写字母的前面)。   这是刘汝佳作者的代码,我们来理解一下:         首先,我们需要标准化输入的单词(就是都变成小写的),然后对每个单词排序,这里是对每个单词排序,有兴趣的可以再函...

个人学习,如有不当,望指正,万分感谢! 450

手把手教会你用yolov8从环境配置到检测任务实战

做本文章前,我浏览过很多网上资料,我发现他们总是写的含糊不清,而且实际操作起来就会有各种各样的问题,要么就是根本不适合一些小白,所以我在这里写一篇完全针对小白的yolo从入门到实战。看完本文章后大家都可以实现下图效果,数字识别是一种比较简单的检测任务,其他识别任务学完本例也能够一通百通,大家边做边学,更好的体会yolo的神奇之处。

KevenDuan的博客 2871

洛谷-UVA156 反片语 Ananagrams

输入格式 输出格式 题意翻译 题目大意 输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入的大小写,按字典序排列。 输入输出样例 输入 #1 复制 ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Rid...

zqhf123的博客 542

若依集成mybatisplus、兼容旧分页【亲测有效】

service类继承ServiceImpl类 实现 你的Service接口。hutool工具包和lombok工具包如果不需要的话可以自行删除并修改后面的类里面的代码。自带的pagehelper用的1.4.6里面的jsqlparser用的4.5.0。mybatis-plus用的3.4.2里面的jsqlparser用的4.0.0。jsqlparser包,不剔除是这样的,有个冲突,我用的前端写的请求,返回的格式和原来的一样,已兼容。你的Entity类上面需要增加表的名字。

lh155136的博客 3566

可乐学习NVMe之一:为什么SSD需要NVMe

1. NVMe SSD 结构简图 整体来看,NVMe SSD可以分为三部分,host端的驱动NVMe Driver、PCIe+NVMe实现的控制器以及NAND Flash+DDR4/DDR5存储介质。 芯片回片后Host侧软件或者驱动开发主要在应用层,通过一些测试工具进行benchmark跑分测试,performance性能分析,latency分析、stress-testing等等: 那么,接下来阐述为什么SSD需要NVMe,并再后续的文章介绍NVMe协议分析,个人针对协议的理解,如果有不当之处,还请各

Lucky 3169

UVA-156 Ananagrams

UVA-156 Ananagrams 题目大意: 输入一些单词,按字典序顺序输出无视大小写及字母排列顺序后,只出现一次的单词。如 STOP、SOPT、spTO 算重复出现。Sample Input ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Rides dealer NotE derail La

Tochase的博客 237

基于深度学习的柠檬等级检测系统 —— YOLOv8 + UI界面 + 数据集

本项目的目标是构建一个柠檬等级检测系统,通过深度学习模型自动检测柠檬的等级。自动检测柠檬等级:通过图像中的柠檬特征,自动判断其成熟度和质量。实时视频检测:通过摄像头实时监控柠檬的质量等级。用户友好的UI界面:为用户提供简洁直观的操作界面,支持图像上传、实时视频检测等功能。本项目展示了如何基于YOLOv8模型开发一个柠檬等级检测系统,结合PyQt5实现了用户友好的UI界面。通过该系统,用户可以快速上传柠檬图像并自动识别其等级,极大提升了检测效率和准确性。数据集的扩展。

YOLO 1112

Ananagrams UVA - 156

题目链接:Ananagrams UVA - 156 题目:输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入的单词。 分析:将所有单词标准化。。。。 代码: #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&l...

howell 241

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

模式分类识别 | TCN时间卷积神经网络多特征分类预测(Matlab完整程序)

前程算法屋的博客 748

GPU硬件架构与微架构深度解析34-GPU安全架构深度解析

现代GPU不仅是图形处理器,更是高性能计算平台,安全架构设计至关重要。内存加密- 保护数据在传输和存储时的安全安全启动- 确保固件和软件的完整性隔离机制- 防止不同应用间的数据泄露密钥管理- 安全存储和处理加密密钥。

2301_79143213的博客 99

UVA - 156 Ananagrams

UVA - 156 Ananagrams题目大意:输入一组有多个单词的字符串 判断每个单词重组后(即随意改变单词字母的位子) 是否 在该字符串中出现 如果没有则按字母表顺序输出这些单词解题思路: 先将所有单词用qsort排序所有单词,再用qsort排序单词字母,然后循环比较每个单词 如果没有一样的单词则输出#include <cstdio> #include <cstring> #include

cwb15505905513的博客 210

【05】昊一源科技——昊一源科技 嵌入式笔试, 校招,题目记录及解析

本文记录了昊一源科技嵌入式校招笔试题目及解析,涵盖计算机基础、汇编语言、网络协议、C语言编程等内容。主要包括:1)补码真值计算;2)MCS51汇编指令执行后寄存器状态;3)网络广播地址计算;4)TCP协议特点;5)C语言三目运算符应用;6)宏定义优先级问题;7)字符指针与数组的区别;8)C++静态成员变量应用;9)三位完全平方数查找程序。题目难度适中,涉及嵌入式开发常见知识点,对求职者基础能力考察全面。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1307

UVa 156 - Ananagrams

传送门UVa 156 - Ananagrams

一只冰熊 1512

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Ananagrams(sort+map) UVA - 156 统计字谜

Ananagrams(sort+map) UVA - 156 统计字谜 Most crossword puzzle fans are used to anagrams — groups of words with the same letters in different orders — for example OPTS, SPOT, STOP, POTS and POST. Some word...

超逸の学习技术博客 639

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

UVA156 Ananagrams

问题链接:UVA156 Ananagrams。 题意简述:输入一个文本文件,从中提取出一些单词输出,输出的单词按照文本文件中的原来样子输出(字母大小写不变)。对于所有的单词,若字母不分大小写,单词经过重排顺序,与其他单词相同,这些单词则不在输出之列。 问题分析:用C++语言编写程序,可以练习使用STL的功能。。另外一点,C++编写程序效率会更高。 程序说明:使用...

weixin_34102807的博客 66

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【字符串排序】UVA-156 Ananagrams

字符读取 UVA 156 Ananagrams 注意事项 读取未知数目的单词,单词之间有未知数目的空格隔开,输入的单词不会跨行,最后以 # 代表输入结束。 样例输入: ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Rides dealer NotE derail LaCeS drIed noel dire Disk mace Rob dries # 注意第二行的开头可以是空格。 读取单词并存进数组的代码如

Encore47的博客 223

uva 156 - Ananagrams (反片语)

csdn:https://blog.youkuaiyun.com/su_cicada/article/details/86710107 例题5-4 反片语(Ananagrams,Uva 156) 输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文 本中的另外一个单词。 在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中 的大小写,按字典序进行排列(所有大写字母在...

axiwvu5138的博客 131

例题5-4 UVA156 Ananagrams(19行AC代码)

紫书刷题进行中,题解系列【GitHub|优快云】 例题5-4 UVA156 Ananagrams(19行AC代码) 题目大意 给定若干单词,按字典序输出不存在重排的单词。(经测试,不包含重复的单词) 重排单词:每个字母出现次数一样,但顺序不同,即对单词序列的一个排序 思路分析 是否满足重排可转换为等价问题:单词的构成字母与顺序无关,有两种解决思路(标准化) 字母计数:统计每个字母出现次数,若一...

努力做个书呆儿 447

UVA156Ananagrams

uva-156 题目: Most crossword puzzle fans are used toanagrams— groups of words with the same letters in differentorders — for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have thisa...

叙话代码 216

UVA 156 Ananagrams(stl,map,set)

例题4:UVA 156 Ananagrams 题目:把每个单词全部转化成小写字母,对每个单词,看它的字母重排后得到的单词在所有输入的单词中是否出现过,若没有出现,就输出原单词。所有要输出的单词按字典序排列输出。 思路:先小写化,然后二维的string排个序,然后用map建立string与int的映射,然后hash一下再放到set里面排个序,其实不hash应该也可以,因为set本身就有去重的功能#

银之夏雪的博客 471
上一篇: 数码管重影问题
下一篇: UVA 400 - Unix ls(排版题)
zcube
博客等级 码龄17年 170粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值