当前位置: 首页 > article >正文

青少年软件编程(C语言)等级三级考试试题(2)

Minecraft

题目描述

Minecraft 是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。

在 Minecraft 中,基本的建筑元素是边长为 1 个单位的立方体,Tony 想用 N 个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。

如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?

输入格式

一个整数 N,表示小明所拥有的小立方体的个数。N 不会超过 1000。

输出格式

一个整数,即小明最少用掉的贴纸有多少张。

样例

样例输入

复制
9

样例输出

复制
30
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int v;
	cin>>v;
	int mi = 9999999;
	for(int a = 1;a<=v;a++)
	{
		for(int b = 1;b<=v/a;b++)
		{
			int h = v/a/b;
			if(v == a*b*h)
			{
				int s = (a*b+a*h+b*h)*2;
				mi = min(mi,s);
			}
		}
	}
	cout<<mi;
	return 0;
}

谁是你的潜在朋友

题目描述

“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。 首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。

输入格式

第一行两个整数N,M,2 <= N ,M<= 200。接下来有N行,第i(i = 1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)

输出格式

包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^ ^)

样例

样例输入

复制
4 5
2
3
2
1

样例输出

复制
1
BeiJu
1
BeiJu
#include<iostream>
#include<iomanip>
using namespace std;
int a[210];
int cnt[210];
int n,m;
int main()
{
	cin>>n>>m;
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
		cnt[a[i]]++;
	}
	for(int i = 0;i<n;i++)
	{
		if(cnt[a[i]]>1)
		{
			cout<<cnt[a[i]]-1<<endl;
		}
		else
		{
			cout<<"BeiJu"<<endl;
		}
	}
	return 0;
}

课程冲突 

题目描述

小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。

定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。

例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。

现在你需要求的是这 n 门课中冲突程度最大的两门课的冲突程度。

输入格式

第一行一个正整数 n 表示课程数量。 接下来 n 行,每行两个正整数 ai,bi。 2 ≤ n≤ 1000, 1 ≤ ai ≤ bi ≤ 1000。

输出格式

输出一个整数表示最大的冲突程度。

样例

样例输入

复制
3
1 3
2 4
5 5

样例输出

复制
2
#include<iostream>
#include<iomanip>
using namespace std;
struct couers
{
	int sT;
	int eT;
};
couers a[1010];
int n;
int ma = -1;
int main()
{
	cin>>n;
	for(int i = 0;i<n;i++)
	{
		cin>>a[i].sT>>a[i].eT;
	}
	for(int i = 0;i<n-1;i++)
	{
		for(int j = 0;j<n-1-i;j++)
		{
			if(a[j].sT>a[j+1].sT)
			{
				swap(a[j],a[j+1]);
			}
		}
	}
	for(int i = 0;i<n;i++)
	{
		for(int j = i+1;j<n;j++)
		{
			if(a[i].eT>=a[j].sT)
			{
				int ct = min(a[i].eT,a[j].eT) - max(a[i].sT,a[j].sT) + 1;
				ma = max(ma,ct);
			}
		}
	}
	cout<<ma;
	return 0;
}


http://www.kler.cn/a/557094.html

相关文章:

  • DeepSeek 到底是什么类型的应用,其核心功能是什么?
  • 工业机器人中用于3D碰撞检测的算法库有哪些
  • ubuntu ffmpeg 安装踩坑
  • 【Python项目】基于Django的网站验证码的生成与识别系统
  • 基于Java+SpringBoot+Vue的前后端分离的汽车租赁系统
  • 正则表达式效验邮箱格式, 手机号格式, 密码长度
  • Python 学习之旅:高级阶段(十四)Web 开发框架 Flask
  • 邮件安全之发件人伪造
  • [漏洞篇]文件上传漏洞详解
  • matlab 车辆进出检测算法设计GUI界面-论文
  • 蓝桥杯刷题2.21|笔记
  • 爬虫学习第八篇-学习小总结
  • MYSQL查询优化器选错了索引怎么办
  • matlab 轮边驱动系统汽车垂向动力学分析
  • python学opencv|读取图像(七十四)人脸识别:EigenFaces算法
  • vue中将el-table导出为excel文件
  • 使用LangChain构建第一个ReAct Agent
  • C/C++ | 每日一练 (2)
  • 大模型掀起AI新浪潮,传感器成为智能升级关键
  • ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案