【codevs1106】 篝火晚会
2024-10-16 01:41:17
http://codevs.cn/problem/1106/ (题目链接)
题意
将1~n顺序排列的环改成另一个环,问n-不动点数。
Solution
啊智障啦,不会做×_×
左转hzwer
代码
// codevs1106
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 1<<30
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=50010;
int vis[maxn],t1[maxn],t2[maxn],a[maxn],b[maxn],c[maxn],n; int main() {
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
c[1]=1;c[2]=a[1];
vis[c[1]]=vis[c[2]]=1;
for (int i=2;i<n;i++) {
if (c[i-1]==a[c[i]]) c[i+1]=b[c[i]];
else if (c[i-1]==b[c[i]]) c[i+1]=a[c[i]];
else {puts("-1");return 0;}
vis[c[i+1]]=1;
}
for (int i=1;i<=n;i++) if (!vis[i]) {puts("-1");return 0;}
int ans=1;
for (int i=1;i<=n;i++) {
int t=(c[i]-i+n)%n;
t1[t]++;
ans=max(ans,t1[t]);
t=(c[n-i+1]-i+n)%n;
t2[t]++;
ans=max(ans,t2[t]);
}
printf("%d",n-ans);
return 0;
}
最新文章
- 创建虚拟目录失败,必须为服务器名称指定“localhost”?看进来!!
- LogConfigruration
- Storm系列(一):搭建dotNet开发Storm拓扑的环境
- innobackupex的安装
- Codeforces Beta Round #6 (Div. 2 Only) D. Lizards and Basements 2 dp
- linux中配置桥接网络,让虚拟机能够上网
- android中使用intent来实现Activity带数据跳转
- Oracle 序列的应用
- ASP.NET(支持 ASP.NET MVC)性能优化包 - combres 介绍
- 201521123003《Java程序设计》第11周学习总结
- element-tree-grid(表格树)的使用
- git push 时提示用户名或密码相关错误信息
- post请求中body数据类型
- Scrapy基础(五) ------css选择器基础
- Gitlab CR
- Sublime Text的使用
- bzoj1007/luogu3194 水平可见直线 (单调栈)
- 数学 它的内容,方法和意义 第二卷 (A. D. 亚历山大洛夫 著)
- 使用uni-app开发微信小程序之登录模块
- redis学习-事务命令
热门文章
- wordpress插件bug排查后记(记一次由于开启memecached引起的插件bug)
- ldap部署相关,ldap双机\LAM配置管理\ldap备份还原
- scikit-learn一般实例之四:使用管道和GridSearchCV选择降维
- Redis简单案例(三) 连续登陆活动的简单实现
- C# Linq排序
- [C#项目开源] MongoDB 可视化管理工具 (2011年10月-至今)
- vcredist_x64.exe vcredist_x86.exe 静默安装方法收集
- HashMap 源码解析
- python 学习笔记 -logging模块(日志)
- react动画难写?试试react版transformjs