【推荐题目】
创始人
2024-03-16 22:15:24
0

一,题目

1. 猪队友(pigmate.cpp)

【问题描述】 "不怕神一样的对手,就怕猪一样的队友",这不,小A需要将小B写的 n 张不同的明信片 放到一一对应的 n 个不同的信封中去,可是不管你信不信,他真的全部都装错了信封,真是一 个猪队友啊!请你编程帮小B求出 n 张明信片全部都装错的可能性有多少种。

【输入】 一个整数 n。

【输出】 输出一个整数,表示所有可能数。 说明:1<=n<=20。

【输入文件】 文件名:pigmate.in

【输出文件】 文件名:pigmate.out

【样例输入】 5

【样例输出】 44

2. 打靶(shoot.cpp)

【问题描述】 最近小A设计了一款射击机器人,使用激光进行打靶。这款机器人能在 n 次打靶中,取得 优秀的成绩。已知机器人在第 i 次打靶时,如果 i 为素数,那么机器人必能打中十环。请你设 计程序来计算,在 n 次打靶中,机器人至少能中多少个十环。

说明:1

【输入文件】 文件名:shoot.in 共一行,输入一个数字 n。

【输出文件】 文件名:shoot.out 共一行,表示 n 次打靶中,打中十环的最少次数。

【样例输入 1】 100

【样例输出 1】 25

【样例输入 2】 2

【样例输出 2】 1

3. 玩骰子(dice.cpp)

【问题描述】 "我们来玩儿个游戏吧,小B!","好呀好呀!我正无聊呢",于是小A和小B一起玩儿起 了游戏。游戏规则是这样的:小A与小B各执一枚不同的骰子,初始状态如下图,骰子点数规 律都为:1 对 6,2 对 5,3 对 4。

小A和小B每轮转动筛子的次数和方向 如下展示。

小A:

第 i 轮          1   2   3   4   5   6  7 … 50

转动方向     右 下 左 右 下 左 右 … 右

转动次数      1   3   5  7   9 11 13 … 99

小B:

第 i 轮          1   2   3   4   5   6  7 …  50

转动方向     右 下 左 右 下 左 右 … 右

转动次数      2  4  6  8  10 12 14 … 100

在转动过程中,将每一次转动后,骰子上面的值记录并累加起来,直到 n 次之后,谁的总值大, 谁就赢。若总值一样大则为平局。 若小A胜利输出:"A",小B胜利输出:"B",平局输出:"P"。

                                小A的骰子                                                         小B的骰子

【输入文件】 文件名:dice.in 一个整数 n,表示小A和小B要转动 n(0<=n<=50)轮骰子。

【输出文件】 文件名:dice.out 输出一个字符,表示比赛结果。

【样例输入】 5

【样例输出】 15 20 B

4. 三级包(bag.cpp)

【问题描述】 "我这里有物资!","注意观察四周!","救救我!"… 小童最近迷上了一款逃亡射击类游 戏,玩儿的不亦乐乎。游戏通过搜寻物资来增强装备和整体实力!不过小童善于思考,他将每 n 种物资的体积和价值统计了出来,并且根据三级包的容量 m 结合具体的算法,实现了背包物 资价值的最大化(每种物资只放一次)。请你也来编程实现吧! 说明:1<=n,m<=1000。

【输入格式】 文件名:bag.in 共 n+1 行。 第 1 行为两个整数,分别表示 m,n; 接下来有 n 行,表示 n 种物资的数据,每行包括两个 1 至 100 之间的整数,分别表示这 种物资的体积与价值。 【输出格式】 文件名:bag.out 一行,一个整数,表示三级包可装物资的最大价值。

【样例输入】

100

4 23

4 24 4

26 4

27 4

【样例输出】 16

二,答案

1.

#include
using namespace std;
long long f(int m){if(m == 1){return 0;}else{return m * f(m - 1) + pow(-1,m);}
}
int main(){freopen("pigmate.in","r",stdin);freopen("pigmate.out","w",stdout);int n;cin>>n;cout<

2.

#include
using namespace std;
bool num(int a){int j = 2;while(j != a){if(a % j == 0){return false;}j++;}return true;
}
int main(){freopen("shoot.in","r",stdin);freopen("shoot.out","w",stdout);int n,sum = 1;cin>>n;if(n < 3){cout<

3.

#include
using namespace std;
int TOP = 4,FRONT = 6,RIGHT = 5,sum = 0;
void turn(int C){int t = TOP;if(C == 1){//右TOP = 7 - RIGHT;RIGHT = t;}else if(C == 0){//左TOP = RIGHT;RIGHT = 7 - t;}else{//下TOP = 7 - FRONT;FRONT = t;}
}
int main(){freopen("dice.in","r",stdin);freopen("dice.out","w",stdout);int n,num = 1,sum1;cin>>n;for(int i = 1;i <= n;i++){for(int j = 1;j <= num;j++){turn(i % 3);}sum += TOP;num += 2;}sum1 = sum;cout<

4.

#include
using namespace std;
int n,m,w[1001],v[1001],dp[1001];
int main(){freopen("bag.in","r",stdin);freopen("bag.out","w",stdout);cin>>m>>n;for(int i = 1;i <= n;i++){cin>>w[i]>>v[i];}for(int i = 1;i <= n;i++){for(int j = m;j >= w[i];j--){dp[j] = max(v[i] + dp[j - w[i]],dp[j]);}}cout<

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...