zoukankan      html  css  js  c++  java
  • Ignatius and the Princess II

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1027

    题目是要:求n个数的第m个全排列

    代码:(超时)

    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int N=1005;
    int main()
    {
        int n,a[N],m;
        while (cin>>n>>m)
        {
            int num=0;
            for (int i=0;i<n;i++)
                a[i]=i+1;
            do
            {
                num++;
                if (num==m)
                {
                    for (int i=0;i<n;i++)
                    {
                        if (i!=n-1)
                        cout << a[i] << ' ';
                        else
                        cout << a[i] << endl;
                    }
                }
            }
           while(next_permutation(a,a+n)) ;

        }
        return 0;
    }

    上面这个代码,提交的答案是超时,因为找到第m个全排列以后忘记break了;

    代码:(AC)

    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int N=1005;
    int main()
    {
        int n,a[N],m;
        while (cin>>n>>m)
        {
            int num=0;
            for (int i=0;i<n;i++)
                a[i]=i+1;
            do
            {
                num++;
                if (num==m)
                {
                    for (int i=0;i<n;i++)
                    {
                        if (i!=n-1)
                        cout << a[i] << ' ';
                        else
                        cout << a[i] << endl;
                    }
                    break;
                }
            }
           while(next_permutation(a,a+n)) ;

        }
        return 0;
    }

  • 相关阅读:
    指针的相关概念
    Linux库函数
    计算机组成
    常用校验码及示例
    判断文件是否被占用的三种方法
    服务主机superFetch占用磁盘过多
    renameTo()判断文件是否被占用(判断大文件是否完成拷贝这个动作)
    xshell下mysql数据库只导出表结构不导出数据
    Java_判断文件是否写入完成
    Java_监听文件夹或者文件是否有变动
  • 原文地址:https://www.cnblogs.com/lisijie/p/7206007.html
Copyright © 2011-2022 走看看