博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10570 Meeting with Aliens
阅读量:6721 次
发布时间:2019-06-25

本文共 802 字,大约阅读时间需要 2 分钟。

题意:

  N个外星人围成一桌坐下,有序的排列指N在N-1与N+1中间,现在给出一个序列,问至少交换几次可以得到有序的序列。

分析:

  复制一遍输入序列,放在原序列之后。相当于环。通过枚举,可以把最小交换次数求出来。正向枚举后,将序列反过来再来一次。

代码:

  

#include 
#include
#include
#include
#include
using namespace std; int v[1010]; int vis[1010]; int n; int solve(int l,int r) {
memset(vis,0,sizeof(vis)); int cnt=0; for(int i=l;i<=r;i++) {
if(vis[i]==1) continue; cnt++; int start=i,now=v[i]+l-1; while(now!=start) {
vis[now]=1; now=v[now]+l-1; } } return n-cnt; } int main() {
while(scanf("%d",&n)&&n) {
int i; for(i=0;i

转载于:https://www.cnblogs.com/137033036-wjl/p/4929372.html

你可能感兴趣的文章
将IRepository接口进行抽象,使它成为数据基类的一个对象,这样每个子类都可以有自己的最基础的CURD了...
查看>>
IIS7.5 错误代码0x8007007e HTTP 错误 500.19 - Internal Server Error
查看>>
数论17——反演定理(二项式反演)
查看>>
第十八章 用于大型程序的工具
查看>>
ASP.NET 2.0学习笔记之Object Tag Syntax
查看>>
Redis 配置文件
查看>>
Jmeter Smock Test规范设计
查看>>
MurmurHash算法:高运算性能,低碰撞率的hash算法
查看>>
Download error: unknown url type: https
查看>>
vagrant虚拟机共享目录在windows宿主下的禁忌
查看>>
数据表操作类
查看>>
[v9] 列表页 调用 正文内容 或 自定义 字段(moreinfo的调用方法)
查看>>
php截取指定字符串之间的字符串的类
查看>>
C# 根据Excel模版导出文件
查看>>
Oracle与DB2的区别
查看>>
bzoj 2500 幸福的道路 树上直径+set
查看>>
新iPad未到 老iPad价格反弹
查看>>
[转载] 建党伟业
查看>>
内核参数优化之1 keepalive解析
查看>>
django F表达式、Q表达式、annotate、order_by
查看>>