P1088 [NOIP2004 普及组] 火星人

简介: P1088 [NOIP2004 普及组] 火星人

b544029a47004136a0b985b5f459cdf9.png

8a8a18e356b942f8a0594a3a47858691.png

代码:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
int n,m;
int vis[maxn];
int mars[maxn];
int ans[maxn];
int num = 0;
bool return0 = false;//直接结束
void dfs(int x)
{
   if (return0)//直接结束
   {
      return;
   }
   if (x > n)
   {
      num++;
      if (num == m + 1)
      {
         return0 = true;//直接结束
         for (int i = 1; i <= n; i++)
         {
            cout << ans[i] << " ";
         }
      }
   }
   for (int i = 1; i <= n; i++)
   {
      if (num == 0)
      {
         i = mars[x];//每个i只排列>mars[i]的数字
      }
      if (vis[i] == 0)
      {
         vis[i] = 1;
         ans[x] = i;
         dfs(x + 1);//位置向后移动
         vis[i] = 0;
      }
   }
}
int main() // 组合问题
{
   cin >> n >> m;
   for (int i = 1; i <= n; i++)
   {
      cin >> mars[i];
   }
   dfs(1);
}
相关文章
P1036 [NOIP2002 普及组] 选数
P1036 [NOIP2002 普及组] 选数
|
11月前
P1093 [NOIP2007 普及组] 奖学金(模拟排序)
P1093 [NOIP2007 普及组] 奖学金(模拟排序)
43 0
【NOIP2017普及组正式赛】图书管理员(librarian)
【NOIP2017普及组正式赛】图书管理员(librarian)
94 0
【2012NOIP普及组】T1. 质因数分解 试题解析
【2012NOIP普及组】T1. 质因数分解 试题解析
P1077 [NOIP2012 普及组] 摆花
P1077 [NOIP2012 普及组] 摆花
111 0
P1077 [NOIP2012 普及组] 摆花
|
存储 C++
P1020 [NOIP1999 普及组] 导弹拦截
洛谷中的数据范围更大,本题提供两个代码,第一个代码在 AcWing 中可以 AC,但是在洛谷中有一半的数据会 TLE,第二个代码则在洛谷中也可以过掉
195 0
P1020 [NOIP1999 普及组] 导弹拦截
|
机器学习/深度学习
P2141 [NOIP2014 普及组] 珠心算测验
P2141 [NOIP2014 普及组] 珠心算测验
|
机器学习/深度学习
洛谷【3】P1014 [NOIP1999 普及组] Cantor 表
洛谷【3】P1014 [NOIP1999 普及组] Cantor 表
洛谷【9】P1085 [NOIP2004 普及组] 不高兴的津津
洛谷【9】P1085 [NOIP2004 普及组] 不高兴的津津