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

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

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

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


相关推荐

  • 一维卷积神经网络处理序列模型

    一维卷积神经网络处理序列模型fromkeras.datasetsimportimdbfromkeras.modelsimportSequentialfromkeras.layersimportEmbedding,Conv1D,MaxPooling1D,GlobalMaxPooling1D,Densefromkeras.optimizersimportRMSpropmax_featu…

    2022年9月22日
    3
  • Java四舍五入保留两位小数

    Java四舍五入保留两位小数文章目录Java四舍五入保留两位小数一、前言环境二、正文BigDecimalDecimalFormatMathcommons-math3String#formatJava四舍五入保留两位小数一、前言环境开发工具:IntelliJIDEAJDK:1.8BigDecimal:https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.htmlDecimalFormat:https://docs.oracle.com/java

    2022年5月21日
    34
  • matlab中wavedec2,说说wavedec2函数[通俗易懂]

    matlab中wavedec2,说说wavedec2函数[通俗易懂]wavedec2函数:1.功能:实现图像(即二维信号)的多层分解.多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)[c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之.输出为c,s.c为各层分解系数,s为各层分解系数长度,也就是大小…

    2022年6月15日
    28
  • 字符串的赋值

    字符串的赋值我们可以知道 char p helo 这种字符串的赋值方式是完全没有问题的 要理解这种赋值方式 我们首先得理解双引号 特別注意 这个是双引号 不要赋值的时候给弄了个单引号 在这个语句中做了什么工作 双引号主要做了 3 个工作 分别 1 申请了空间 在常量区 存放了字符串 2 在字符串尾加上了 0 3 返回地下面是转载 学了这么多年的 C 语言 突然发现连字符串赋值都出错 chara 10 怎么给这个数组赋值呢 1 定义的时候直接用字符串赋值 chara 10 hello 注意

    2025年6月16日
    4
  • C#中MessageBox使用方法大全(附效果图)

    C#中MessageBox使用方法大全(附效果图)

    2021年11月29日
    111
  • origin绘图同时添加柱状图和折线图

    origin绘图同时添加柱状图和折线图在绘制数据图时,为了清晰反应不同数据之间的关系,往往需要在同一个图中同时添加柱状图和点线图。这时候需要左右两个纵坐标。下面介绍这种图的绘制方法1、首先绘制一个柱状图,具体绘制方法可以参考上一篇博客:origin绘图软件安装包及入门使用2在图的右侧插入刻度线,插入顺序如下图所示,点击图–>新图层(轴)–>右Y轴3、添加完后双击右侧刻度线修改刻度的起始值和要插入的点线图数值范围对应4、插入折线图,选择图->添加点线图,从book中选择要绘制点线图的数据导入到右侧

    2022年5月22日
    425

发表回复

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

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