不要问我为什么WA这么多次。。。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #define maxv 100050
  6. #define inf 1000000007
  7. using namespace std;
  8. int n,a,b,aft[maxv][],deg[maxv],stack[maxv],top=,regis[maxv],mx=;
  9. int cnt[maxv*],ans=inf;
  10. bool vis[maxv];
  11. bool check(int x,int cnt,int fath)
  12. {
  13. if (x==)
  14. {
  15. if (cnt==n+) return true;
  16. else if (cnt!=) return false;
  17. }
  18. stack[cnt]=x;
  19. for (int i=;i<=;i++)
  20. {
  21. if ((!vis[aft[x][i]]) && (aft[x][i]!=fath))
  22. {
  23. vis[aft[x][i]]=true;
  24. return check(aft[x][i],cnt+,x);
  25. }
  26. }
  27. return false;
  28. }
  29. int main()
  30. {
  31. memset(deg,,sizeof(deg));
  32. scanf("%d",&n);
  33. for (int i=;i<=n;i++)
  34. {
  35. scanf("%d%d",&a,&b);
  36. deg[a]++;deg[b]++;aft[i][]=a;aft[i][]=b;
  37. }
  38. for (int i=;i<=n;i++)
  39. {
  40. if (deg[i]!=)
  41. {
  42. printf("-1\n");
  43. return ;
  44. }
  45. }
  46. if (!check(,,)) {printf("-1\n");return ;}
  47. mx=;memset(cnt,,sizeof(cnt));
  48. for (int i=;i<=n;i++)
  49. {
  50. int r=i-stack[i];
  51. if (r>=) cnt[r]++;
  52. else cnt[n+r]++;
  53. }
  54. for (int i=;i<=n;i++) mx=max(mx,cnt[i]);
  55. ans=min(ans,n-mx);
  56. for (int i=n;i>=;i--)
  57. regis[n-i+]=stack[i];
  58. mx=;memset(cnt,,sizeof(cnt));
  59. for (int i=;i<=n;i++)
  60. {
  61. int r=i-regis[i];
  62. if (r>=) cnt[r]++;
  63. else cnt[n+r]++;
  64. }
  65. for (int i=;i<=n;i++) mx=max(mx,cnt[i]);
  66. ans=min(ans,n-mx);
  67. printf("%d\n",ans);
  68. return ;
  69. }

codevs 1106 篝火晚会的更多相关文章

  1. NOIP2005 篝火晚会 解题报告

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

  2. NOIP2005 篝火晚会

    篝火晚会 (fire.pas/c/cpp) [问题描述] 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会. ...

  3. [NOIP 2005]-- 篝火晚会

    额~~,对这组题感兴趣的具体的解题报告可以戳戳这里:http://wenku.baidu.com/view/878beb64783e0912a2162aa7.html?qq-pf-to=pcqq.c2 ...

  4. 洛谷 P1053 篝火晚会 解题报告

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

  5. [LuoguP1053][Noip2005]篝火晚会

    [LuoguP1053][Noip2005]篝火晚会(Link) 现在你有一个排成一个圈的\(N\)大小的队列,一开始的顺序是\(\{1,2,3,4...N\}\),一共有\(N\)个要求,第\(i\ ...

  6. P1053 篝火晚会

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

  7. 洛谷P1053 篝火晚会

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

  8. 「NOIP2005」「Codevs1106」篝火晚会

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

  9. [NOIP2005] 提高组 洛谷P1053 篝火晚会

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

随机推荐

  1. mysql Host ‘XXXXXX’ is blocked because of many connection errors

    mysql Host ‘XXXXXX’ is blocked because of many connection errors ERROR 1129 (00000): Host ‘XXXXXX’ i ...

  2. 【UVA】【11427】玩纸牌

    数学期望 也是刘汝佳老师白书上的例题……感觉思路很神奇啊 //UVA 11427 #include<cmath> #include<cstdio> #include<cs ...

  3. STL中的stack(堆栈)

    转载:http://blog.csdn.net/morewindows/article/details/6950881 栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(F ...

  4. oracle中行转列函数

    一.问题描述 有时在“相关子查询中”需要查询某个实体类对应的某个字段有多个值,如果不做行专列查询,会提示返回多个列的错误.例如: 如上图所示,一个组合包,可能对应多个产品,需要你将所对应的多个产品都放 ...

  5. PAT-乙级-1048. 数字加密(20)

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  6. 01-04-02【Nhibernate (版本3.3.1.4000) 出入江湖】HQL查询

    public IList<Customer> GetAllHql() { IList<Customer> result = null; ISession session = _ ...

  7. mutable关键字

    mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词.在C++中,mutable也是为了突破const的限制而设置的.被mutable修饰的变量(muta ...

  8. 改写java TreeMap制造方便查询的ip内存库

    http://www.54chen.com/java-ee/chang-java-treemap-store-ip.html

  9. hdu 1850 Being a Good Boy in Spring Festival 博弈论

    求可行的方案数!! 代码如下: #include<stdio.h> ]; int main(){ int n,m; while(scanf("%d",&n)&a ...

  10. 什么是hibernate?

    一.什么是hibernate框架?1.通过数据库保存java运行时产生的对象和恢复对象,其实就是实现java对象与关系数据库记录的映射关系称为ORM(Object Relation Mapping), ...