专栏首页csxiaoyaoHDU 1027 组合数学

HDU 1027 组合数学

题目:

题意需要理解一下,到底怎么排序,然后就简单了

Ignatius and the Princess II

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4066    Accepted Submission(s): 2436

Problem Description

Now our hero finds the door to the BEelzebub feng5166. He opens the door and finds feng5166 is about to kill our pretty Princess. But now the BEelzebub has to beat our hero first. feng5166 says, "I have three question for you, if you can work them out, I will release the Princess, or you will be my dinner, too." Ignatius says confidently, "OK, at last, I will save the Princess." "Now I will show you the first problem." feng5166 says, "Given a sequence of number 1 to N, we define that 1,2,3...N-1,N is the smallest sequence among all the sequence which can be composed with number 1 to N(each number can be and should be use only once in this problem). So it's easy to see the second smallest sequence is 1,2,3...N,N-1. Now I will give you two numbers, N and M. You should tell me the Mth smallest sequence which is composed with number 1 to N. It's easy, isn't is? Hahahahaha......" Can you help Ignatius to solve this problem?

Input

The input contains several test cases. Each test case consists of two numbers, N and M(1<=N<=1000, 1<=M<=10000). You may assume that there is always a sequence satisfied the BEelzebub's demand. The input is terminated by the end of file.

Output

For each test case, you only have to output the sequence satisfied the BEelzebub's demand. When output a sequence, you should print a space between two numbers, but do not output any spaces after the last number.

Sample Input

6 4 11 8

Sample Output

1 2 3 5 6 4 1 2 3 4 5 6 7 9 8 11 10

代码:

#include<stdio.h>
#include<stdlib.h>
int comp(const void*a,const void*b)
{
    return *(int*)b-*(int*)a;
}
void main()
{
	int i,j,k,n,m,a[100001],temp;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		for(i=0;i<n;i++)//数组赋初值
			a[i]=n-i;
		for(i=0;i<m-1;i++)//操作次数
		{
			for(j=0;j<n;j++)
			{
				if(a[j+1]<a[j])
					break;
			}//确定调换的位置
			for(k=0;k<n;k++)
			{
				if(a[k]>a[j+1])
				{
					temp=a[j+1];
					a[j+1]=a[k];
					a[k]=temp;
					break;
				}
			}
			qsort(a,j+1,sizeof(int),comp);//尾数排序
		}
		for(j=n-1;j>0;j--)
		{
			printf("%d ",a[j]);
		}
		printf("%d\n",a[0]);
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HDU 1075 字典树 字符串匹配

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java...

    csxiaoyao
  • HDU 1003 动态规划 求最大子串和

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot...

    csxiaoyao
  • HDU 1023 高精度 卡特兰数

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot...

    csxiaoyao
  • Ignatius and the Princess II

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth...

    用户2965768
  • python 日志记录

    #!/bin/env python #--*-- coding=utf8 --*-- # # Author: ablozhou # E-mail: ab...

    py3study
  • 删除endnote插入Word中参考文献的方法

    To delete an unformatted citation, simply highlight the entire citation (includi...

    步行者08
  • Android AppBar

    AppBar官方文档摘记 2016-6-12 本文摘自Android官方文档,为方便自己及其他开发者朋友阅读。 章节目录为“Develop > Trainin...

    用户1172465
  • 【JAVA进阶】HashMAP中加载因子0.75的问题

    HashMap has two important properties: size and load factor. I went through the J...

    用户5640963
  • Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3)(A.B.C,3道暴力题,C可二分求解)

    A. Is it rated? time limit per test:2 seconds memory limit per test:256 megabyte...

    Angel_Kitty
  • 12个Kubernetes配置的最佳实践

    到目前为止,我们大多数人都听说过人为错误,在导致数据泄露中所扮演的角色。自7月以来,Capital One发生的黑客入侵事件只是一连串安全事件中的最新一起,这些...

    CNCF

扫码关注云+社区

领取腾讯云代金券