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。数据由随机数产生。

数据太弱了,回溯都能过!!!
#include<cstdio>
#include<iostream>
#define M 10010
using namespace std;
int a[M],vis[M],q[M],n,flag;
void dfs(int t)
{
if(flag)return;
if(t>n)
{
for(int i=;i<=n;i++)
printf("%d ",q[i]);
flag=;
}
for(int i=;i<=n;i++)
if(!vis[i]&&a[i]!=a[q[t-]])
{
q[t]=i;
vis[i]=;
dfs(t+);
vis[i]=;
q[t]=;
}
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
q[]=;
vis[]=;
dfs();
return ;
}

你缺什么(codevs 2928)的更多相关文章

  1. codevs 2928 你缺什么

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 继"你幸福吗"之后,央视又推出了"你缺什么 ...

  2. codevs 3289 花匠

    题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...

  3. codevs 1082 线段树练习 3(区间维护)

    codevs 1082 线段树练习 3  时间限制: 3 s  空间限制: 128000 KB  题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...

  4. codevs 1285 二叉查找树STL基本用法

    C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...

  5. codevs 1576 最长上升子序列的线段树优化

    题目:codevs 1576 最长严格上升子序列 链接:http://codevs.cn/problem/1576/ 优化的地方是 1到i-1 中最大的 f[j]值,并且A[j]<A[i] .根 ...

  6. codevs 1080 线段树点修改

    先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...

  7. codevs 1228 苹果树 树链剖分讲解

    题目:codevs 1228 苹果树 链接:http://codevs.cn/problem/1228/ 看了这么多树链剖分的解释,几个小时后总算把树链剖分弄懂了. 树链剖分的功能:快速修改,查询树上 ...

  8. codevs 1082 线段树区间求和

    codevs 1082 线段树练习3 链接:http://codevs.cn/problem/1082/ sumv是维护求和的线段树,addv是标记这歌节点所在区间还需要加上的值. 我的线段树写法在运 ...

  9. codevs 1052 地鼠游戏

    1052 地鼠游戏 http://codevs.cn/problem/1052/ 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不 ...

随机推荐

  1. Ubuntu 12 修改环境变量

    Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 修改用户环境变量 用户环境变量通常被存储在下面的文件中: ...

  2. python 中文编码问题

    1.文件首#coding=utf-8 作用:为了把文件内容编码python所识别的utf-8,若不指定编码格式,则会出现以下错误: 2. 文件储存指定编码为utf-8 作用:将文件编码成utf-8.如 ...

  3. JAVA设计模式 之 观察者模式(JDK内置实现)

    简介:使用JAVA内置的帮你搞定观察者模式. 1. 先把类图放在这里: (1). Observable类追踪所有的观察者,并通知他们. (2). Observer这个接口看起来很熟悉,它和我们之前写的 ...

  4. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...

  5. [COJ0528]BJOI幸运数

    [COJ0528]BJOI幸运数 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见"试题描述" 输出示例 见"试 ...

  6. header()相关

    header("Content-type: text/html; charset=utf-8"); header("refresh:3;url=biaodan.php?n ...

  7. UDS帧传输

    说明 在UDS协议中,其中有一点我视作为基础,即帧传输.也即是数据传输这一块,在UDS的帧传输中,分为4种: SF单帧 FF第一帧 CF连续帧 FC流控制帧 首先,我们抛开以上的东西,假设一个销售商( ...

  8. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  9. YUVviewerPlus使用教程

    1.YUVviewerPlus用于播放yuv文件,点击Open File打开yuv文件 2.点击Play播放yuv文件

  10. python程序性能分析

    中文:http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html 英文:https://www.huyng.com/posts/pyth ...