• codevs 2928 你缺什么


    传送门

    2928 你缺什么

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond
     
     
    题目描述 Description

    继“你幸福吗”之后,央视又推出了“你缺什么”。而在采访过程中,记者发现了一些问题。

    记者要采访n个人。已知第i个人要回答Ta缺某事物Xi,但如果Ta之前的一个人的答案和Ta一样,Ta就会改口。为了避免受访者改口,记者决定改变采访顺序。

    现在给出这n个人的答案,请输出一种可行的方案。要求该方案字典序最小。数据保证有解。

    输入描述 Input Description

    第一行,一个数n。

    接下来的n行,第i+1行为Xi。

    输出描述 Output Description

    一行,n个数,表示依次访问n个人的顺序。以空格隔开。

    样例输入 Sample Input

    10
    1
    5
    4
    1
    4
    2
    1
    3
    3
    5

    样例输出 Sample Output

    1 2 3 4 5 6 7 8 10 9 

    数据范围及提示 Data Size & Hint

    0<n<=104,0<Xi<=5。数据由随机数产生。

    【思路】深搜

    【code】

    #include<iostream>
    #include<cstdio>
    #include<cstdlib> 
    using namespace std;
    #define M 10005
    int n,ans[M],a[M],cnt,use[M];
    void dfs(int pre,int now,int all)
    {
        if(all==n){
            for(int i=1;i<=n;i++)
            printf("%d ",ans[i]);
            exit(0);
        }
        for(int i=1;i<=n;i++)
        {
            if(!use[i]&&a[i]!=a[pre])
            {
                use[i]=1;ans[now]=i;
                dfs(i,now+1,all+1);
                use[i]=0;
            }
        }
    }
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",a+i);
        dfs(0,1,0);
        return 0;
    } 
  • 相关阅读:
    PHP输出语法:echo、var_dump、print、print_r区别对比
    深浅拷贝
    deepin
    linux 扩容磁盘空间
    tcpdump抓包与tcp握手
    linux 搭建FTP
    ubuntu基本配置
    linux 安装kmv创建虚拟机后网络配置
    selenium + pyautogui 实现淘宝自动登录
    pycharm 加载不出来已安装的selenium包或者其他已安装的package
  • 原文地址:https://www.cnblogs.com/zzyh/p/6961866.html
Copyright © 2020-2023  润新知