蓝卷---a

第一题:三色旗(10$)+10
问题描述
三色旗的问题最早由E.W.Dijkstra所提出,他所使用的用语为DutchNation Flag(Dijkstra为荷兰人),而多数的作者则使用Three-Color Flag来称之。
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子。

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

int main()
{
	char color[100];
	cin>>color;
	int wflag=0,bflag=0,/***************/;
	int minstep=0;
	while(wflag<=rflag)
	{
		if(color[wflag]=='b')
		{
			if(bflag!=wflag)
			{
				swap(color[bflag],color[wflag]);
				minstep++;
			};
			bflag++;
			wflag++;
		}	
		else if(color[wflag]=='w')
		    wflag++;
		else
		{
			while(/****************/)
			      rflag--;
			if(wflag!=rflag)
			{
				swap(color[wflag],color[rflag]);
				minstep++;
			}
		    rflag--; 
		}
	}
	cout<<color<<endl;
	cout<<"minstep="<<minstep<<endl;
	return 0;
}	

要求:填入空缺部分代码。

在这里插入代码片

第二题:第25阶台阶($10)+10
问题描述
如果我每一步迈上 1 个或两个台阶,先迈左脚,然后左右交换,最后一步迈右脚,也就是一共要走偶数步,那么,上完 25级台阶,有多少种不同的算法?
要求:只要输入结果即可。
——— ? ————

第三题:多少个果子($10)+10
问题描述
第一层有1个果子,第二层有3个果子,第三层有6个果子,第四层有10个果子,…,到一百层,一共有多少果子?
要求:只要输入结果即可。
——— ? ————
第四题:哥德巴赫猜想($15)+15
问题描述
哥德巴赫猜想:任一大于2的偶数,都可以表示成两个素数之和。
验证:2000以内大于2的偶数都能够分解为两个素数之和。

#include <iostream>
#include<cmath>
using namespace std;
int prime(int n);//判断是否为素数 

int main()
{
	int i,n;
	/*





	*/
    return 0;
}

int prime(int i)
{
	int j;
	if(i<=1)return 0;
	if(i==2)return 1;
	for(j=2;j<=(int)(sqrt((double)i));j++)
	if(i%j==0)
	return 0;
	return 1;
}

要求:填入空缺部分代码。

在这里插入代码片

第五题:输出Fibonacci数列的第n项的数值($15)+15

在这里插入代码片

第六题:星期几??($20)+20

#include<bits/stdc++.h>
using namespace std;

int whatday(int y,int m,int d)
{
/*


*/
}
string weekday[7]={"Monday","Tuesday","wednesday","Thursday","Friday","saturday","sunday"};
int main()
{
	int y,m,d;
	cin>>y>>m>>d;
	cout<<weekday[whatday(y,m,d)]<<endl;
	return 0;
}

要求:填入空缺部分代码。

在这里插入代码片

第七题:阿里巴巴与四十大盗($20)—可拆分背包
题目描述:
有一天,阿里巴巴赶着一头毛驴上山砍柴。砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空飞扬,朝他这儿卷过来,而且越来越近。靠近以后,他才看清原来是一支马队,他们共有四十人,一个个年轻力壮、行动敏捷。一个首领模样的人背负沉重的鞍袋,从丛林中一直来到那个大石头跟前,喃喃地说道:“芝麻,开门吧!”随着那个头目的喊声,大石头前突然出现一道宽阔的门路,于是强盗们鱼贯而入。阿里巴巴待在树上观察他们,直到他们走得无影无踪之后,才从树上下来。他大声喊道:“芝麻,开门吧!”他的喊声刚落,洞门立刻打开了。他小心翼翼地走了进去,一下子惊呆了,洞中堆满了财物,还有多得无法计数的金银珠宝,有的散堆在地上,有的盛在皮袋中。突然看见这么多的金银财富,阿里巴巴深信这肯定是一个强盗们数代经营、掠夺所积累起来的宝窟。为了让乡亲们开开眼界,见识一下这些宝物,他想一种宝物只拿一个,如果太重就用锤子凿开,但毛驴的运载能力是有限的,怎么才能用驴子运走最大价值的财宝分给穷人呢?阿里巴巴陷入沉思中……
假设山洞中有n种宝物,每种宝物有一定重量w和相应的价值v,毛驴运载能力有限,只能运走m重量的宝物,一种宝物只能拿一样,宝物可以分割。那么怎么才能使毛驴运走宝物的价值最大呢?

输入描述:
第一行是一个整型数m(m<100)表示共有m组测试数据。
每组测试数据的第一行是两个整数n,c (1<n,c<10000)表示该测试数据宝物数量及驴子的承载重量。
随后的n行,每行有两个正整数wi, vi分别表示第i个宝物的重量和价值(1<wi,vi<100)。
输出描述:
对于每一组输入,输出毛驴运走宝物的最大价值。
每组的输出占一行
样例输入:
6 19
2 8
6 1
7 9
4 3
10 2
3 4
样例输出:
24.6

在这里插入代码片

第一次评测=40$
第二次评测=70$
第三次评测=100$

发布了131 篇原创文章 · 获赞 58 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_43595030/article/details/104142948
今日推荐