当前位置:首页 > 题解目录 > 正文内容

【题解】公式成绩

亿万年的星光5年前 (2021-03-13)题解目录8407

【题目描述】

学校的期中考试到了。 gp 老师一共收集到 n 个学生的成绩,每个学生有 5 科成绩,分别是语文、数学、英语、政治、历史。(ai,bi,ci,di,ei) gp 老师突发奇想,他用 m 条公式来评价学生的成绩,也就是说,每条公式都单独评价一个指定的学生。 公式的形式为 Mark=kj1*ai+kj2*bi+kj3*ci+kj4*di+kj5*ei 现在 gp 老师懒得计算,他把这个任务交给了你,请你按照数据给出的 m 条公式,分别计算出 m 个指定的学生 对应的分数(mark)值。

【输入描述】

第 1 行为 n,m。 

第 2~ n+1 行,每行有五个正整数 ai,bi,ci,di,ei,分别为五科成绩 

第 n+2 ~n+1+m 行,每行有六个整数 ki1,ki2,ki3,ki4,ki5,pi,分别为公式的系数和第 pi 个学生

【输出描述】

一行 m 个数,分别为 m 条公式对应学生的分数值

【样例输入】

3 2
1 2 3 4 5
5 8 2 1 3
4 2 9 3 5
3 2 1 0 5 2
1 2 3 4 5 1

【样例输出】

48 55

【数据范围】

n<=1000 ai,bi,ci,di,ei<=1000 -1000<=ki<=1000
保证所有数据都是整数

【题目分析】


  • 中等程度的模拟题,问题的难点在于没看懂输入样例

  • 输入样例的第n+2到n+1+m行,最后一个数表示第pi个学生。

  • 注意输出的时候每个数用空格隔开,如果你回车或者换行答案也是错的。

  • 输入的时候也比较麻烦。但是比较好的一点就是锁定了5门成绩和5个公式系数

  • 一个思路是都看成一维数组,然后用整数去取。另一个比较好的思路是看成二维数组,这个方法比较直观。

  • 实际的处理结果要看m的次数。




【参考答案】

#include<iostream>
using namespace std;
int x[1005][1005],y[1005][1005],n,m; //分别表示成绩,系数,第n个人 
int main(){
	cin>>n>>m;//读入n和m
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=5;j++)//锁定5列 
			cin>>x[i][j];
	}
	for(int i=1; i<=m;i++)
	{
		for(int j=1; j<=6;j++) //锁定6列 
			cin>>y[i][j];
	}
	//处理数据	
	for(int i=1;i<=m;i++)
	{
		int ans =0;
		int tmp = y[i][6];   //取末尾数表示第n个学生
		for(int j=1;j<=5;j++)
		{
			ans+=x[tmp][j]*y[i][j];		
		}		
		cout<<ans<<" "; 
	}
	return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解】石子合并

【题目描述】在一个操场上一排地摆放着N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。设计一个程序,计算出将N堆石子合并成一堆的...

简单算术表达式求值

【题目描述】 两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算;    -,减法运算;   &nbs...

【题解】均分蛋糕

【题解】均分蛋糕

【题目描述】小明的生日要到了!根据习俗,他需要将一些派分给大家。他有 N 个不同口味、不同大小的派。有 F 个朋友会来参加我的派对,每个人会拿到一块派(必须一个...

【题解】上学线路(2019青岛市程序设计比赛)

【题解】上学线路(2019青岛市程序设计比赛)

 【题目描述】小D从家到学校的道路结构是这样的:由n条东西走向和m条南北走向的道路构成了一个n*m的网格,每条道路都是单向通行的(只能从北向南,从西向东走)。已知小D的家在网格的左上角,学校...

【题解】给定和为定数

【题目描述】给出若干个整数,询问其中是否有一对数的和等于给定的数。【输入描述】第一行是整数n(0 < n ≤ 100,000),表示有n个整数。第二行是n个整数。整数的范围是在0到108之间。第...

【循环】日记第几天

【题目描述】小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。【输入描述】输入三个整数�y,m,d分别表示年月日,...