ZOJ-1188「建议收藏」

ZOJ-1188「建议收藏」也很水,直接统计权值然后排序即可

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

也很水,直接统计权值然后排序即可

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

struct DNA
{
	char s[51];
	int sort;
	int index;
};

static void calc(struct DNA *p)
{
	char *s = p->s;
	int i, j, c, len = strlen(s);
	p->sort = 0;
	for (i = 0; i < len; i++)
	{
		c = s[i];
		for (j = i + 1; j < len; j++)
			if (c > s[j])
				p->sort++;
	}
}

static int cmp(const void *p1, const void *p2)
{
	struct DNA *d1 = (struct DNA *) p1;
	struct DNA *d2 = (struct DNA *) p2;
	if (d1->sort != d2->sort)
		return d1->sort - d2->sort;
	else
		return d1->index - d2->index;
}

int main()
{
	int t, N;
	scanf("%d", &N);
	struct DNA *array = malloc(100 * sizeof(struct DNA));
	for (t = 0; t < N; t++)
	{
		if (t)
			putchar('\n');
		int n, m;
		scanf("%d %d", &n, &m);
		getchar();
		int i;
		for (i = 0; i < m; i++)
		{
			gets(array[i].s);
			array[i].index = i;
			calc(array + i);
		}
		qsort(array, m, sizeof(struct DNA), cmp);
		for (i = 0; i < m; i++)
			puts(array[i].s);
	}
	free(array);
	return 0;
}

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

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

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

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

(0)


相关推荐

  • 批处理for命令的用法_批处理主要解决

    批处理for命令的用法_批处理主要解决1.前言for是批处理中最复杂,也最强大的关键字。熟练掌握for的用法,才可能理解批处理的强大之处。2.基本用法2.1.概念for是对一组文件中的每一个文件执行某个特定命令。FOR%variableIN(set)DOcommand[command-parameters]%variable,指定一个单一字母可替换的参数。(set),指定一个或一组文…

  • idea2019激活码(破解版激活)

    idea2019激活码(破解版激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 分布式CAP原理

    分布式CAP原理Consistentdata:    Operationscommitorfailintheirentirety(atomic)    操作的提交或者失败都是整体的(原子性)    Transactionsneverobserveorresultininconsistentdata(consistent)        事务不会导致不一致的数据  

  • springboot项目导入idea中如何部署启动_idea怎么导入javaweb项目

    springboot项目导入idea中如何部署启动_idea怎么导入javaweb项目最近公司要求开发工具要用Idea,作为一个eclipse的老员工,记录一下Idea中遇到的坑刚开始用Idea从Git上导入一个项目时,遇到了很多坑,网上有很多方法,我不多做介绍。只说明一下我使用的方法。1.本地新建一个文件夹,从git上导入项目到本地文件夹。(git的相关使用请自行百度,这里只讲Idea的使用方法)2.将这个文件夹直接拖到Idea的启动图标上。或者,从Ide…

    2022年10月10日
  • 通俗理解运行时异常和非运行时异常(一般异常)[通俗易懂]

    通俗理解运行时异常和非运行时异常(一般异常)[通俗易懂]一,异常的概念Java异常类层次结构图:Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误

  • [Linux] 非root安装Lefse软件及其数据分析「建议收藏」

    [Linux] 非root安装Lefse软件及其数据分析「建议收藏」说明Lefse软件是宏组学物种研究常用软件,一般大家用在线版本即可。但要搭建在Linux集群环境中有点烦,记录一下折腾过程。安装这个软件是python2写的,因此假设我已经安装好了较高版本的python2以及pip等工具,在此基础上来安装lefse。lefse下载地址:https://bitbucket.org/nsegata/lefse/src/default/。这个网站有丰富…

发表回复

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

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