蓝桥杯算法提高题与官方答案(5)

2019-03-09 13:45

private static int n; private static PriorityQueue one = new PriorityQueue<>(); private static PriorityQueue two = new PriorityQueue<>(); public static void main(String[] args) throws IOException { StreamTokenizer st = new StreamTokenizer(new InputStreamReader(System.in))); st.nextToken(); int t = (int) st.nval; while (t-- > 0) { st.nextToken(); n = (int) st.nval; one.clear(); two.clear(); for (int i = 0; i < n; i++) { st.nextToken(); one.add((int) st.nval); } for (int i = 0; i < n; i++) { st.nextToken(); two.add((int) st.nval); } LinkedList onelist = new LinkedList(); LinkedList twolist = new LinkedList(); while (!one.isEmpty()) { onelist.add(one.poll()); twolist.add(two.poll()); } int maxo, mino, maxt, mint, result = 0; while (!onelist.isEmpty()) { maxo = onelist.getLast(); mint = twolist.getFirst(); mino = onelist.getFirst(); maxt = twolist.getLast(); if (maxo * mint < mino * maxt) { result += (maxo * mint); onelist.removeLast(); twolist.removeFirst();

BufferedReader(new

}

}

}

} else { result += (maxt * mino); onelist.removeFirst(); twolist.removeLast(); } }

System.out.println(result);

编号:ADV-14

题目:卡勒沃夫之弱水路三千(提高型) 关键字:算法 类型:vip试题 问题描述

锦瑟年华谁与度 莫问情归处 只影向斜阳 剑吼西风 欲把春留驻 天涯芳草无归路 回首花无数 解语自销魂 弱袂萦春 尘缘不相误 ......

在卡勒沃夫充满文学杀伤力的声音中,身处紫荆2号楼202B的四位远近高低各不同的室友纷纷回忆起了各自波澜起伏的过去,并对长在百草园,邻有百花谷的现状表达了各自的见解。

某Q:\我小学就开窍了...她的父母说我很好,但是...今天又和北林的联系了...\ 某X:\差点就成了,结果到学校了...这个方法放假了我去对我的同桌用!...\ 某W:\(千言万语不言中,有大量的故事等待考古) 某Z:\为了来清华...咱们审美观不一样,不会抢...\ ......

卡勒沃夫在这个不朽的夜话中搜集出了某人零散的历任女友资料,为了强迫某人将他出的题目的标程交出,现在卡勒沃夫需要一个能将这些零散信息整合起来的程序。伴随着雄壮委婉动人的音乐,身为程序设计快男(超女)的你降临了!卡勒沃夫正对着您做Orz状并请求着:\神牛啊~请施舍给我一段程序把~偶米头发~\。。 输入格式

第一行为一个不超过5的整数T,表示数据的组数。之后每组数据的一行为一个不超过100的整数n。之后n行每行有两个用单个空格隔开的字符串(每个字符串只有英文大小写字母,长度不超过10),为两位mm的名字。每行第一个mm先于第二个mm成为某人的女友。

在这里我们假装诅咒某人不会同时被两个或两个以上mm泡,某个mm抛弃了某人后不会再吃回头草,同时卡勒沃夫深邃的洞察力使得他收集到了充足的信息以确定某人女友的先后顺序。

在小数据组中出现的人物不超过13个 输出格式

输出T行,每行对应一组数据,并按照mm们从先到后成为某人女友的顺序输出她们的名字,各个名字间用一个空格隔开。

样例输入 2 2

RY Unknown YSZ RY 3

tomorrow yestoday tomorrow today today yestoday

样例输出

YSZ RY Unknown

tomorrow today yestoday

参考代码:

该题暂时没有人完全正确,暂时没有该语言的参考程序。 ps:Java的没有但是有C语言版,代码如下: #include #include #include char mm[105][15]; char s1[15],s2[15]; int link[105][2]; int length[105]={0}; int in[105]; int N;

typedef struct{ char name[15]; int num; }girl;

void fun(int x) { int i,y; for(i=0;i=length[y]?length[x]+1:length[y]; fun(y); } }

int comp(const void *a, const void *b) { return (*(girl *)a).num>(*(girl *)b).num?1:-1; }

int main()

{

int i,j,T,n,f,x,y,sum=0; girl g[105];

scanf(\while(T--) { memset(mm,0,sizeof(mm)); memset(link,0,sizeof(mm)); memset(in,0,sizeof(in)); memset(length,0,sizeof(length)); scanf(\ n=0; for(i=0;i

link[i][1]=y; } for(i=0;i

编号:ADV-15 题目:最大乘积 关键字:循环 类型:vip试题 问题描述

对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? 输入格式


蓝桥杯算法提高题与官方答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:英语名篇背诵手册+中英对照

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: