1007 油菜花王国

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Problem Description
程序设计竞赛即将到来,作为学校ACM集训队主力,小明训练一直很努力。今天天气不错,教练也心情大好,破例给各位队员放假一天,小明就骑着自己的小电驴到郊外踏青去了。

出城不久,小明看到一大片油菜花,忍不住眼前美景的诱惑,就拐了进去,谁曾想,这一拐却误入了油菜花王国!

油菜花王国生存着一大批油菜花精灵,这是一种特别热爱斐波那契数列的生物。在这个国度里,有若干个家族,每只精灵都只属于一个家族。精灵出生时,身上都会印着一个编码,表示这只精灵的能力值,如果这个能力值正好存在于斐波那契数列,那么他就会为所在的家族增加一点威望。小明通过和精灵们聊天,知道了所有精灵之间的关系。

现在,小明想知道油菜花王国里威望值最大的家族的威望值是多少,你能帮帮他吗?小明会把精灵们之间的关系网络告诉你,由于整个关系网络实在太庞大,所以小明很有可能重复介绍其中一些关系。

Input
输入包含多组数据。

每组数据第一行包含两个整数 n (1 <= n <= 1000) 、 m (1 <= m <= 5000) ,分别表示油菜花王国精灵数量和精灵之间关系组数。
第二行包含 n 个整数,表示精灵们的能力值 k (1 <= k <= 1000000000)。
接下去有 m 行,每行有两个不同的整数 u 、 v (1 <= u, v <= n) ,表示精灵 u 和精灵 v 属于同一个家族。

Output
请输出威望值最大的家族的威望值,每组数据对应一行输出。
Sample Input
2 1 1 4 1 2
Sample Output
1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stack>
#include<math.h>
#include<algorithm>
#include<iostream>
#define exp 1e-10
using namespace std;
const int N = 1005;
const int M = 1005;
const int inf = 1000000007;
const int mod = 2009;
int s[N],a[N],c[N],ans[N];
int fun(int x)
{if(c[x]!=x)c[x]=fun(c[x]);return c[x];
}
int main()
{int i,n,m,u,v,k,x,Max,p;s[0]=1;s[1]=1;for(i=2;; i++){s[i]=s[i-1]+s[i-2];if(s[i]>1000000000)break;}p=i;while(~scanf("%d%d",&n,&m)){memset(ans,0,sizeof(ans));for(i=1; i<=n; i++)c[i]=i;for(i=1; i<=n; i++)scanf("%d",&a[i]);for(i=0; i<m; i++){scanf("%d%d",&u,&v);c[fun(u)]=fun(v);}for(i=1; i<=n; i++){k=fun(i);x=lower_bound(s,s+p,a[i])-s;if(s[x]==a[i])ans[k]++;}for(Max=0,i=1; i<=n; i++)Max=max(Max,ans[i]);printf("%d\n",Max);}return 0;
}

总是望着曾经的空间发呆,那些说好不分开的朋友不在了,转身,陌路。 熟悉的,安静了, 安静的,离开了, 离开的,陌生了, 陌生的,消失了, 消失的,陌路了。

转载于:https://www.cnblogs.com/im0qianqian/p/5989686.html

计算机学院大学生程序设计竞赛(2015’11)1007 油菜花王国相关推荐

  1. 计算机学院大学生程序设计竞赛(2015’11)

    1001 搬砖(dp) 题意:把N块砖每次分成两摞,每次消耗的体力是两摞砖的差值,直到每摞只剩下一块砖,求消耗的最少体力. 思路:一开始摸不到头脑,不明白题目的意思,后来和别人讨论,一来明白了和整除2 ...

  2. 杭电计算机学院大学生程序设计竞赛(2015’11)

    1003 玩骰子 暴力枚举抛的骰子的点数,算出获胜的方案数,然后在三个里面选择最大值. #include <bits/stdc++.h> using namespace std;int a ...

  3. hdu计算机学院大学生程序设计竞赛(2015’11)1003 玩骰子

    玩骰子 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. 中国矿业大学计算机学院张铖,中国矿大在第41届ACM国际大学生程序设计竞赛中国区决赛中荣获银奖...

    12月10-11日,第41届ACM国际大学生程序设计竞赛中国区决赛(ACM-ICPC Asia China-Final Contest)在上海大学举办.中国矿业大学计算机学院由刘厚泉教授担任领队,由杨 ...

  5. 上海大学计算机学院卞韬,我校计算机工程与科学学院学生在CCPC中国大学生程序设计竞赛中喜获金奖...

    CCPC中国大学生程序设计竞赛(China Collegiate Programming Contest)是由中国大学生程序设计竞赛组委会组织的年度性赛事,旨在通过竞赛来提高并展示中国大学生程序设计创 ...

  6. 绥化学院信息工程学院计算机大赛,绥化学院大学生程序设计竞赛成功举行

    原标题:绥化学院大学生程序设计竞赛成功举行 为加快我校计算机技术与科学专业.软件工程专业教学创新与改革,提高学生自主创新意识和工程实践能力,促进科技创新能力,我校于2020年10月21日15时在信息工 ...

  7. 北邮计算机学院acm,计算机学院学生在2018年ACM-ICPC中国大学生程序设计竞赛中喜获佳绩...

    6月9日至6月10日,2018ACM-ICPC中国大学生程序设计竞赛在宁夏石嘴山市举行,本次大赛吸引了来自全国各大高校的132支参赛队伍,北京邮电大学共派出三支队伍参赛,均喜获佳绩. 经过五个小时的激 ...

  8. 计算机信息技术奥赛实践,我校计算机科学与信息技术学院学生在黑龙江省大学生程序设计竞赛中取得优异成绩...

    原标题:我校计算机科学与信息技术学院学生在黑龙江省大学生程序设计竞赛中取得优异成绩 5月12日,由黑龙江省计算机学会主办.哈尔滨工业大学承办的第十四届黑龙江省大学生程序设计竞赛在哈尔滨工业大学举行,来 ...

  9. 浙江大学计算机学院 英语竞赛 陈星,喜报 | 浙大代表队获得CCPC中国大学生程序设计竞赛冠军...

    浙江大学Wheatfield with Crows队在2019年10月20日下午2时结束的CCPC中国大学生程序设计竞赛厦门赛站中获得冠军,来自复旦大学和清华大学的队伍分获亚军和季军. 本次比赛于20 ...

最新文章

  1. 【跟着我们学Golang】之面向对象
  2. 【译】Why Decentralized AI Matters Part II: Technological Enablers
  3. Java中static的含义和用法
  4. 嵌入式软件常见笔试面试题总结 .
  5. P4559 [JSOI2018]列队 主席树
  6. netty 压缩比_使Netty 4中的HTTP内容压缩工作
  7. Bootstrap 进度条
  8. linphone相关(转)
  9. 中国体声波器件市场趋势报告、技术动态创新及市场预测
  10. oracle12 group by 拼接字符串
  11. textarea文本框默认显示文本鼠标点击时清空
  12. linux内存泄露检查工具
  13. 演化博弈与GAN网络
  14. unity让物体做圆周运动、椭圆运动、双曲线运动
  15. Python兼职:300-800元/天,各行各业都能运用!
  16. 2013应届毕业生“艺龙旅行网”校招应聘总结
  17. Google Map Web服务API
  18. oracle 虚拟机安装mac os,【Mac OS X 详细安裝教程图解之虚拟机安装】-Oracle论坛-ZOL中关村在线...
  19. 智能卡 PSAM 卡片文件结构
  20. python seek函数whence_file.seek(offset[, whence])

热门文章

  1. 成就PHP高手的五个必由之路
  2. WCF中Service Configuration Editor的使用方法(转)
  3. JMeter中的HTTPS套接字错误
  4. php 其他格式数据与数组互转
  5. Java_IO流_抽象类
  6. EXP1 PC平台逆向破解
  7. JavaScript中的数组遍历forEach()与map()方法以及兼容写法
  8. js数组的sort排序详解
  9. 超简易复制Model对象(为后续备忘录设计模式博文做铺垫)
  10. mysql导入导出.sql数据