noip2005篝火晚会 2008.10.18

注意:

1.       刚开始,我用的是图来标记这两个人是否已经输出过,一直出错,后来看了标称,方法很好

2.       求出序列后,因为是圆环,要正着求一次差,求相同的最大值,还要倒着求一次差,求最大值,这样才圆满,我只正着求了,故一直出错

3.       不能用abs,若剪出的结果是负数,应加上n;标称的处理方法很好,相减后+n,再mod n

Program:

program noip2005_3;constmaxn=50000;varn:longint;tm,w:array[0..maxn] of longint;g:array[1..maxn,0..4] of longint;function solve(x,y:longint):boolean;vari:integer;beginsolve:=true;for i:=1 to g[x,0] doif y=g[x,i]then exit(false);end;{判断两个人以前是否出现过}procedure init;vari,x,y:longint;beginreadln(n);for i:=1 to n dobeginread(x,y);if solve(i,x)then begininc(g[x,0]); g[x,g[x,0]]:=i;inc(g[i,0]); g[i,g[i,0]]:=xend;if solve(i,y)then begininc(g[y,0]); g[y,g[y,0]]:=i;inc(g[i,0]); g[i,g[i,0]]:=y;end;if (g[x,0]>2) or (g[y,0]>2)then beginwriteln(-1); close(input); close(output);haltend;{不必读完,出现问题,不再读他,就跳出}end;end;procedure ready;vari,j:longint;begintm[0]:=0; tm[1]:=1;for i:=2 to n dofor j:=1 to g[tm[i-1],0] doif g[tm[i-1],j]<>tm[i-2]then tm[i]:=g[tm[i-1],j];end;procedure main;vari,j,max,ans:longint;beginmax:=0;for i:=1 to n doinc(w[ (tm[i]+n-i) mod n ]);for i:=0 to n-1 doif w[i]>max then max:=w[i];fillchar(w,sizeof(w),0);for i:=n downto 1 doinc(w[ (tm[i]+n-(n-i+1)) mod n ]);for i:=0 to n-1 doif w[i]>max then max:=w[i];ans:=n-max;writeln(ans);end;beginassign(input,'fire.in');assign(output,'fire.out');reset(input); rewrite(output);init;ready;main;close(input); close(output);end.

noip2005篝火晚会 2008.10.18相关推荐

  1. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  2. [原创][NOIP2005]篝火晚会(超详细题解,3种思路)

    原题 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官".在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1到n.一 ...

  3. NOIP2005 篝火晚会 解题报告

    佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官".在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1到n.一开始, ...

  4. [noip2005]篝火晚会

    佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官".在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1到n.一开始, ...

  5. Luogu1053 NOIP2005篝火晚会

    首先造出所要求的得到的环.如果将位置一一对应上,答案就是不在所要求位置的人数.因为显然这是个下界,并且脑补一下能构造出方案达到这个下界. 剩下的问题是找到一种对应方案使错位数最少.可以暴力旋转这个环, ...

  6. noip2005篝火晚会

    这是一道不算太难的题,但愚蠢的我并没有想到. 首先,判断无解的情况:他想相邻的不想与他相邻. 然后,构造出合法的数列,因为第一位左边有两种选择,且构造出的环不等价,所以要做两次. (这一点我并没有想清 ...

  7. 【NOIP2005 提高组】篝火晚会

    题目 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官& ...

  8. 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue...

    原文:背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue [源码下载] 背水一战 ...

  9. 五一惠州双月湾游,海滩,帐篷,野营,烧烤、篝火晚会

    惠州沙滩周末两日一晚游 活动介绍 线路特色 行程安排 费用说明 粉丝优惠价 注意事项 客服专线 报名入口 路上干点啥呢 惠州双月湾帐篷露营.烧烤BBQ.篝火晚会狂欢.出海捕鱼二日游 为公司企业团体策划 ...

最新文章

  1. puppet yum模块、配置仓储、mount模块
  2. 史上最全的机器学习资料(上)
  3. 隐私设置错误您的连接不是私密连接_用小米手机的,赶紧将这些保护个人隐私的功能设置起来,安全好用...
  4. SAP UI5 确保控件 id 全局唯一的实现方法
  5. Firefox改变查看页面源代码的程序
  6. 基于物理着色(二)- Microfacet材质和多层材质
  7. Skywalking微服务监控分析
  8. java为什么要用数据源_【Java】就配置了一个数据源,为什么提示 there is more than one bean of “DataSource” type...
  9. 需求规格说明书【样本】
  10. SIFT原作者David Lowe主页
  11. PYTHON爬取拉钩网
  12. elasticsearch+filebeat+kibana实现系统日志收集
  13. C语言实现输出九九乘法表
  14. Linux 两个服务器之间测试传输速度,测试两台服务器之间的网络带宽
  15. IBM X 345服务器无法从光驱启动配置解决方法——非常规方法
  16. Unity3D基础知识学习笔记
  17. T检验:两样本数据的差异性
  18. 万能工具箱万能工具箱_系统管理员工具箱的10个有用工具
  19. 2020年中国低/零代码行业分析
  20. 基于51单片机的温度控制系统数码管显示蜂鸣器报警proteus仿真原理图PCB

热门文章

  1. Java—Maven的使用
  2. (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  3. open用法 vba_vba workbook.open的文件名怎么使用变量
  4. 必应地图控件(WPF版)添加中国地图
  5. qinglong青龙面板使用
  6. css字体溢出省略号处理(3种)
  7. 关于油猴被浏览器禁止访问的解决办法
  8. 游戏版号停止审批系谣言?监管层倾向给这些游戏版号
  9. 阿维塔获25亿增资:长安汽车加持 宁德时代与蔚来股权被稀释
  10. 使用nettyio+socket.io搭建简单的网页聊天室