北华大学计算机程序设计算法提高训练营个人赛(无L)
明明是北华大学的训练赛,结果被屠榜了hhh,L防ak题吧这也太难了
A-洛姐打题日记
题目描述
洛姐开开心心地打题,可是她看不懂评测机给的判定结果,你能帮帮她吗。
摘自ACM评分标准:
竞赛进行5个小时,一般有7道或以上试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评测机,由评测机判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。程序判定结果有如下7种:
1、Accepted. ——通过!(AC)
2、Wrong Answer.——答案错。(WA)
3、Runtime Error.——程序运行出错,意外终止等。(RE)
4、Time Limit Exceeded. ——超时。程序没在规定时间内出答案。(TLE)
5、Presentation Error. ——格式错。程序没按规定的格式输出答案。(PE)
6、Memory Limit Exceeded. ——超内存。程序没在规定空间内出答案。(MLE)
7、Compile Error. ——编译错。程序编译不过。(CE)
(部分OJ还有不同的判定结果,不过在这里不予考虑)
输入描述:
输入一行,表示判定结果的简写
输出描述:
输出一行,表示判定结果的英文全称
输入
AC
输出
Accepted
AC代码
#include
using namespace std;
#include
#include
#include
#include
#include
#include
#include
#include
#include
B-鸡兔同笼
题目描述
鸡兔同笼,但,这是外星牧场!!
已知每只外星鸡有一头 x 只脚,每只外星兔有一头 y 只脚。(x≠y)
外星人为了数学教育,曾出过这样一道题。现将一些外星鸡和外星兔关进同一个笼子中,已知笼子中有 H 个头、F 只脚,求笼子中有多少只外星鸡和多少只外星兔。
输入描述:
输入由多个测试用例组成。第一行包含一个整数 ttt,表示测试案例的数量。测试用例的描述如下。(1≤t≤2∗105)
每个测试样例输入一行四个正整数 x,y,H,Fx,y,H,Fx,y,H,F ,含义见题目描述。(1≤x,y,H,F≤109,x!=y)
输出描述:
对于每个测试样例,输出一行两个正整数(用空格分隔),分别表示外星鸡的数量和外星兔的数量。
输入
2
2 4 8 24
3 4 12 41
输出
4 4
7 5
问题解析
设有a个鸡,b个兔子。方程就是a+b=H和a*x+b *y=F。解方程即可。
AC代码
#include
using namespace std;
#include
#include
#include
#include
#include
#include
#include
#include
#include
C-小杜的签到
题目描述
小袁经常苦恼于找不到好题,于是,一旁的小杜献上了一道锦囊妙题。
现有一个长为 n 的数组 a。定义 :
F
(
a
)
=
∑
i
=
1
n
−
1
(
a
i
+
1
−
a
i
)
F(a)=sum_{i=1}^{n-1}{(a_{i+1}-a_i)}
F(a)=i=1∑n−1(ai+1−ai)
每次操作可以选择一个 i,满足
1
≤
i
<
n
1≤i ,并交换
a
i
和
a
i
+
1
ai 和 ai+1
ai和ai+1
任意次数操作后(可能是 0 次),小杜想知道 F(a) 的最小值和最大值分别是多少。
输入描述:
第一行输入一个正整数 n,表示数组 a 的长度。(2≤n≤106)
第二行输入 n 个正整数 ai,表示这个数组。(1≤ai≤109)
输出描述:
输出一行两个正整数,分别表示 F(a)F(a)F(a) 的最小值和最大值。(用空格分隔)
输入
3
3 2 1
输出
-2 2
问题解析
把数组升序排序后得到的就是最大值,乘上-1(或把数组降序排序后再算一遍)得到的就是最小值。
AC代码
#include
using namespace std;
#include
#include
#include
#include
#include
#include
#include
#include
#include