牛客练习赛45 C Buy Fruits

2023-11-10 00:21
文章标签 牛客 45 练习赛 buy fruits

本文主要是介绍牛客练习赛45 C Buy Fruits,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

链接:https://ac.nowcoder.com/acm/contest/847/C
来源:牛客网
 

题目描述

在blueland上有 n n个水果店,它们的编号依次为 0,1,2...n−1 0,1,2...n−1。奇妙的是,每个水果店都只卖一种水果,且这些水果店卖的水果种类都各不相同。

在每个水果店有一个传送门,且这些传送门也有各自的编号,其中 i i号水果店的传送门编号为 Ai Ai,每个传送门的编号也各不相同,且是 [0,n−1] [0,n−1]中的一个整数。简单的说, A0A1A2...An−1 A0A1A2...An−1 0∼n−1 0∼n−1的一个排列

lililalala初始位于 0 0号水果店,现在他想买到全部的 n n种水果,但是他并不认识路,所以只能通过传送门往来于水果店并通过固定的流程买水果:

当他到达 i i号水果店时,如果之前没有到过这个水果店,那么lililalala会买下这种水果并且通过这个水果店的传送门传送到 (i+Ai)modn (i+Ai)modn号水果店;

如果之前已经到过这个水果店,那么他就立即停止买水果的流程。

请输出一种使得lililalala可以买到全部 n n种水果的一种传送门编号序列,或者判定不存在这样的序列。

输入描述:

 

仅一行一个整数 n(1≤n≤100000) n(1≤n≤100000)。

输出描述:

 

如果存在符合题目要求的序列:

输出一行 n n个整数--符合题目要求的序列,如果有多个序列满足要求,输出任意一个即可。

输出需要保证:

∀i∈[0,n−1],Ai∈[0,n−1]∀i∈[0,n−1],Ai∈[0,n−1]

∀i,j∈[0,n−1],满足Ai≠Aj如果i≠j∀i,j∈[0,n−1],满足Ai≠Aj如果i≠j

如果不存在符合题目要求的序列,输出 −1 −1。

示例1

输入

复制

8

输出

复制

6 3 7 2 0 5 1 4

说明

 

lililalala经过水果店的顺序是:

 0→6→7→3→5→2→1→4 0→6→7→3→5→2→1→4

答案可能不止一种。

示例2

输入

复制

10

输出

复制

8 4 9 1 3 0 6 2 5 7

说明

 

lililalala经过水果店的顺序是:

 0→8→3→4→7→9→6→2→1→5 0→8→3→4→7→9→6→2→1→5

答案可能不止一种。

分析:

#include<bits/stdc++.h>
using namespace std;int main()
{int n;scanf("%d",&n);if(n==1) printf("0\n");else if(n&1) printf("-1\n");else{for(int i = 1; n-i>0; i += 2)printf("%d ",n-i);printf("0");for(int i = 2;n-i>0;i+=2)printf(" %d",n-i);printf("\n");}  return 0;
}

 

这篇关于牛客练习赛45 C Buy Fruits的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379326

相关文章

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比

【POJ】Buy Tickets(思路 + 线段树)

一开始没有思路,之后问了一下学长,需要逆向处理输入。 最后一个加入队列的肯定是没有冲突的,所以我们可以从最后一个开始处理,从后往前,找第 i + 1个空着的地方。 线段树的话记录 区间中 空白位置的个数。 134418332013010521002828Accepted5368K1704MSC++1690B2014-09-14 21:19:45 #include<iost

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ

每日OJ_牛客_求和(递归深搜)

目录 牛客_求和(递归深搜) 解析代码 牛客_求和(递归深搜) 求和_好未来笔试题_牛客网 解析代码         递归中每次累加一个新的数,如果累加和大于等于目标,结束递归。此时如果累加和正好等于目标,则打印组合。向上回退搜索其它组合。此题本身就是一个搜索的过程,找到所有的组合。 #include <iostream>#include <cmath>#in

[MySQL实战45讲]MySQL笔记之数据库锁

备份数据库,全局锁 如果全部使用InnoDB引擎,那么直接 mysqldump -single-transaction 即可 否则用FTWRL语句,即 flush table with read lock。 你发现你的应用程序里有 lock tables 这样的语句 表锁一般是在数据库引擎不支持行锁的时候才会被用到的。 要么是你的系统现在还在用 MyISAM 这类不支持事务的引擎,那要安

[MySQL实战45讲]MySQL笔记之事务

基本要素 ACID 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣

[MySQL实战45讲]MySQL笔记之索引

B+树索引和Hash索引区别 哈希索引适合等值查询,但是无法进行范围查询 哈希索引没办法利用索引完成排序 哈希索引不支持多列联合索引的最左匹配规则 如果有大量重复键值的情况下,哈希索引的效率会很低,因为存在哈希碰撞问题 索引失效的情况 对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引 对于使用 like 查询, 查询如果是 ‘%aaa’ 不会使用索引,而 ‘aaa%

[MySQL实战45讲]MySQL笔记之数据库基础

MySQL查询过程 连接数据库 查询缓存,若命中直接返回结果(不推荐使用,更新即失效,利用效率低,8.0已经删除查询缓存) 语法分析 语句优化 查询存储引擎 重建表 作用:1.重建索引 2.清除空洞,碎片整理,收缩表空间 方法:1. alter table t engine=InnoDB 2.optimize table t analyze table t (只重建索引)