(组合数学3.1.1.2)UVA 10098 Generating Fast(使用字典序思想产生所有序列)

/*
 * UVA_10098.cpp
 *
 *  Created on: 2013年10月8日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

char s[11];
int l;

bool get() {
	int i = l - 1;
	int j;
	while (i > 0 && s[i - 1] >= s[i]) {
		--i;
	}
	if (!i) {
		return 0;
	}

	int mp = i;
	for (j = i + 1; j < l; ++j) {
		if (s[i - 1] >= s[j]) {
			continue;
		}

		if (s[mp] > s[j]) {
			mp = j;
		}
	}

	swap(s[mp], s[i - 1]);
	sort(s + i, s + l);
	return 1;
}

int main() {
	int t;
	scanf("%d", &t);
	while (t--) {
		scanf("%s", s);
		l = strlen(s);

		sort(s, s + l);
		printf("%s\n", s);

		while (get()) {
			printf("%s\n", s);
		}
		printf("\n");
	}

	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
analyzing android.bp文件并在out/soong/build.ninj中生成ninja文件。 在Android开发中,我们使用android.bp文件来描述构建Android应用程序的模块信息和依赖关系。android.bp文件是Soong构建系统的一部分,它使用Build Blueprints语言来定义构建项目。每个模块在android.bp文件中有一个或多个相关的属性。这些属性包括模块类型、编译选项、依赖关系等。 为了生成构建系统所需的ninja文件,我们需要先分析android.bp文件。在分析过程中,Soong构建系统会读取android.bp文件并解析其中的模块属性。然后,它会根据这些属性生成对应的构建规则和依赖关系。 生成的ninja文件将保存在out/soong/build.ninj目录中。这个文件是一个由构建系统生成的规则文件,其中包含了构建项目所需的所有命令和依赖关系。ninja文件采用一种简单的语法来描述这些规则,它可以让构建系统更加高效地执行构建过程。 通过分析android.bp文件并生成ninja文件,我们可以确保构建系统能够正确地编译和构建Android应用程序。这个过程可以自动化,以提高开发效率并降低错误的发生。 总之,分析android.bp文件并生成ninja文件是构建Android应用程序的关键步骤之一。它确保了我们的应用程序可以成功地编译和构建,并最终生成可执行文件和APK包。同时,这个过程也为开发者提供了一个方便的构建环境,使他们可以更加专注于应用程序的开发和调试工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值