基本思路:先按照长度排序,总长度等于第一个子串加上最后一个子串,然后从最后开始枚举子串与子串file[0]相加,也从后开始找到另一个子串与子串file[1]相加,并交换相加顺序,直到两个先加的串相等。
注意考虑所有子串都相等的特殊情况。
#include<stdio.h> #include<string.h> #include<stdlib.h> #define MAX_LEN 256*8+5 #define MAX_LINE 300 char file[MAX_LINE][MAX_LEN]; int cmp(const void*a, const void*b) { return strlen((char*) a) - strlen((char*) b); } void judge(int n) { qsort(file, n, MAX_LEN * sizeof(char), cmp); int len = strlen(file[0]) + strlen(file[n - 1]); int i, j; char str1[len + 5]; char str2[len + 5]; for (i = n - 1; i > 0; i--) { strcpy(str1, file[0]); strcat(str1, file[i]); for (j = n - 1; j > 1; j--) { if (j == i) continue; strcpy(str2, file[1]); strcat(str2, file[j]); if (strcmp(str1, str2) == 0) { printf("%s\n", str1); return; } } for (j = n - 1; j > 1; j--) { if (j == i) continue; strcpy(str2, file[j]); strcat(str2, file[1]); if (strcmp(str1, str2) == 0) { printf("%s\n", str1); return; } } } for (i = n - 1; i > 0; i--) { strcpy(str1, file[i]); strcat(str1, file[0]); for (j = n - 1; j > 1; j--) { if (j == i) continue; strcpy(str2, file[1]); strcat(str2, file[j]); if (strcmp(str1, str2) == 0) { printf("%s\n", str1); return; } } for (j = n - 1; j > 1; j--) { if (j == i) continue; strcpy(str2, file[j]); strcat(str2, file[1]); if (strcmp(str1, str2) == 0) { printf("%s\n", str1); return; } } } } int main() { int cases; scanf("%d", &cases); getchar(); getchar(); while (cases--) { int i = 0; while (1) { gets(file[i]); if (file[i][0] == 0) break; i++; } judge(i); if (cases) printf("\n"); } return 0; }
相关推荐
Learn something new in an Instant! A short, fast, focused guide delivering immediate results. Learn how to write apps that work on any Android version Ready to use code to solve any compatibility ...
从提供的压缩包文件名YoKeyword-Fragmentation-1ff69d4来看,这应该是该库的一个特定版本,包含了库的源码和资源,便于开发者查看内部实现并进行定制化修改。 总之,“Android-Fragmentation”是一个为了解决...
### Bin Packing with Item Fragmentation:一种扩展的Bin Packing问题 #### 概述 本文探讨了一种扩展版的Bin Packing问题,即物品可被碎片化的Bin Packing问题(Bin Packing with Item Fragmentation)。传统的...
#DNS-layer-Fragmentation 介绍 这段代码基于IETF草案,实现了DNS应用程序级别分段的代理: https://tools.ietf.org/id/draft-muks-dns-message-fragments-00.txt 在IPv4中,有时无法将单个数据包中无法容纳的DNS...
自Windows Vista引入以来,低碎片堆(Low Fragmentation Heap,简称LFH)已经成为Windows操作系统默认的前端堆管理器。这种新的前端管理器带来了与Lookaside List不同的数据结构和算法,并改变了后端内存管理的方式...
前言 Android在碎片化的体现已不再是API上的,近两年受异形屏市场冲击,最终就是开发者的一场崩溃,并没有一个万全之策能做到通用的适应。 真的有必要每位开发者都花大量时间集中在适应问题上吗?...
// compile 'me.yokeyword:fragmentation-core:1.1.9' // 如果想使用SwipeBack 滑动边缘退出Fragment/Activity功能,完整的添加规则如下: compile 'me.yokeyword:fragmentation:1.1.9' // swipeback基于...
为了解决这个问题,Mnesia 提供了表分片(table fragmentation)的功能。通过使用 Linear Hashing 算法,Mnesia 可以将大表分散存储在多个节点上,从而提高表的可扩展性和性能。 在分析 Mnesia 表分片的过程和算法...
La Fabrique de la Loi:对齐与分裂 安装 您将需要一个相当新的节点版本(可能> = 4)。 安装依赖项并构建代码 # This will install the deps & build the code for production npm install # To build the code ...
we propose a data fragmentation scheme to increase channel utilization and avoid inevitable collision. Our proposed scheme outperforms the standard IEEE 802.15.4 MAC in terms of collision probability ...
implementation ' com.zpj.widget:Fragmentation-Dialog:1.1.5 ' 执照 Copyright 2021 Z-P-J Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance ...
开源项目-bestmethod-go-acp.zip,GitHub - bestmethod/go-acp: Written in golang, acp (advanced copy) for multi-threaded copy with low file fragmentation using large buffers
although the apparent size is usually smaller, it may be larger due to holes in (sparse) files, internal fragmentation, indirect blocks, and the like * -B, --block-size=SIZE:use SIZE-byte blocks * -b...
system file fragmentation gets better. No more need to run a manual and resource-intensive process. Frag Shield抯 MFT fragmentation prevention technology is now fully automatic and re-written ...
Fragmentation-master可能是一个开源项目或者教程,专门针对磁盘碎片整理或内存管理优化进行研究。该项目可能包含了分析碎片、编写碎片整理算法、实现内存管理策略等方面的代码和文档。用户可能通过学习这个项目,...
Tadpole-shaped Au nano-particles with controllable tails are successfully fabricated by simply using laser fragmentation of separated Au nano-spheres in liquid. The optimum laser power densities (1.5...
Fragmentation库是Google支持的Jetpack库的一个扩展,它提供了一种更简洁、高效的方式来处理Fragment与Activity之间的交互,尤其是在涉及多Activity和多Fragment的复杂场景时。本文将深入探讨如何利用fragmentation...
- When BurnInTest crashes, it will not generate a "minidump" file. Minidumps will need to be sent to Microsoft as per the normal process. However, a log entry will be added to the normal BurnIn...
### FStream: Managing Flash Streams in the File System #### Flash-based Solid State Drives (SSDs) Flash-based SSDs have become a popular alternative to traditional hard disk drives (HDDs) due to ...
在H.264编码中,Fragmentation Units (FUs) 是一种特殊的数据结构,用于处理大尺寸的NAL单元(Network Abstraction Layer units),以便更有效地在网络上传输。本文将深入探讨H264中的Fragmentation Units及其在视频...