`
Dev|il
  • 浏览: 126173 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

选课时间(题目已修改,注意读题)

 
阅读更多
选课时间(题目已修改,注意读题)
Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 28   Accepted Submission(s) : 25
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(xhd认为一样学分的课没区别)

Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据的第一行是两个整数n(1 <= n <=40),k(1 <= k <=8 )。
接着有k行,每行有两个整数a(1 <= a <=8 ),b(1 <= b <= 10 ),表示学分为a的课有b门。

Output
对于每组输入数据,输出一个整数,表示学n个学分的组合数。

Sample Input
2
2 2
1 2
2 1
40 8
1 1
2 2
3 2
4 2
5 8
6 9
7 6
8 8

Sample Output
2
445
#include <stdio.h>

#define _MAX 50
int c1[_MAX], c2[_MAX];

typedef struct{
	int a; //学分
	int b; //有好多门
}COURSE;

COURSE c[10];

//
int cal(int n, int l)
{
	int i, j, k;
	for(i = 0; i <= n; i++)
	{
		c1[i] = 0;
		c2[i] = 0;
	}
	c1[0] = 1;
	for(i = 1; i <= l; i++)
	{
		for(j = 0; j <= n; j++)
		{
			for(k = 0; k <= c[i - 1].a * c[i - 1].b && k + j <= n; k += c[i - 1].a)
			{
				c2[j + k] += c1[j];
			}
		}
		for(j = 0; j <= n; j++)
		{
			c1[j] = c2[j];
			c2[j] = 0;
		}
	}
	return c1[n];
}
int main()
{
	int t, i, j;
	int n, k;
//	freopen("in.in", "r", stdin);
	scanf("%d", &t);
	for(i = 1; i <= t; i++)
	{
		scanf("%d%d", &n, &k);
		for(j = 0; j < k; j++)
			scanf("%d%d", &c[j].a, &c[j].b);
		printf("%d\n", cal(n, k));
	}
	return 0;
}
分享到:
评论

相关推荐

    c#学生信息 课程信息 选课 成绩 山大一公司应聘编程试题

    1. **学生信息管理**:此模块用于添加、删除、修改和查询学生的个人信息,如姓名、学号、性别、年龄等。通常会涉及到数据库操作,使用ADO.NET或其他ORM框架如Entity Framework与SQL Server、MySQL等数据库进行数据...

    网络选课用例图

    4. 选课时间已过时提示不可修改 用例名称:个人信息修改 用例描述:修改登录用户的个人信息 前置条件:用户登录进入系统 后置条件:个人信息发生改变 基本操作流程: 1. 用户点击个人信息栏目 2. 对个人信息进行...

    登入可修改密码可选课可查询可修改的学生选课系统

    4. 选课查询:系统应具备强大的查询功能,允许学生在任何时候查看已选课程、剩余名额、课程状态等信息。这有助于学生及时了解选课情况,调整学习计划。 5. 选课结果修改:在一定期限内,学生可以根据实际情况调整...

    学生选课系统课程设计(有代码完整版)

    5.学生选课功能(学生选课时要判断课程是否已经选满,同时还要判断学生是否已经选了2门课,若学生满足选课条件才能选课,注意同一门课一个学生只能选一次) 【主要知识点】结构体、线性表、函数

    学生选课系统 Javaweb版的

    如果新选课程的时间与已选课程存在重叠,则提示学生调整选课。这一功能的实现依赖于高效的数据库查询和算法设计。 四、用户界面与交互 系统的用户界面应简洁明了,方便学生操作。登录界面需验证用户名和密码,主...

    学生选课-学生选课系统-学生选课系统源码-学生选课管理系统-基于springboot的学生选课系统-学生选课管理系统java代码

    学生选课-学生选课系统-学生选课系统源码-学生选课管理系统-学生选课管理系统java代码-学生选课系统设计与实现-基于springboot的学生选课系统-基于Web的学生选课系统设计与实现-学生选课网站-学生选课网站代码-学生...

    在线选课系统说明书

    在线选课系统是一种基于网络的教育管理工具,旨在提高高校的课程管理效率,减少人力资源的投入,提升学生选课的便利性。本说明书主要围绕河北工程大学科信学院的网络编程技术课程设计,构建一个在线选课管理系统进行...

    ASP.net学生选课网站系统

    5. **课程管理**:教师可以发布新课程,包括课程名称、介绍、学分、时间安排等信息,同时可以对已发布的课程进行编辑和删除。 6. **选课流程**:学生在指定的时间段内通过系统进行选课,可以查看课程信息,选择符合...

    选课必备 自动选课

    自动选课工具只是众多技术应用中的一个例子,它利用现代技术的自动化特点,帮助我们提高效率,节省时间。然而,技术始终是为人服务的,使用技术手段时,我们需要有道德意识和责任感,不能忽视法律法规和学校规章的...

    学生选课系统.rar

    对于任课教师,可以提交、修改及确认所任选课成绩,能够实现学生数据的导入、选修课表的录入、选课系统的合理配置,如每学期每人选课最大数目、每门课程的最大容量、选课时间及避开上课地点与时间的冲突等。

    深圳大学选课小助手

    "深圳大学选课小助手"是一款专为深圳大学学生设计的辅助选课软件,其主要功能在于帮助学生更高效、便捷地完成选课流程。在第二阶段选课中,这款工具可能发挥了尤为重要的作用,提供了比传统手动选课更为优化的体验。...

    网上选课系统测试分析报告

    学生可以顺利进行选课、查看已选课程和成绩,同时在操作出错时能接收到明确的错误提示。课程退选操作也能正确执行,保持系统数据的一致性。 教务管理员系统则提供了录入开课信息、修改和导入课程、选课人数分配、...

    ASP的选课系统选课系统选课系统

    在本项目“ASP的选课系统选课系统选课系统”中,开发者使用ASP技术构建了一个针对大学选课场景的简单系统。下面将详细阐述ASP的基础知识,以及在设计选课系统时可能涉及的关键技术。 1. ASP基础: ASP是Internet ...

    学生选课管理系统

    系统管理员通过此项功能设置选课时间段—预选时间段和补选时间段,只有在选课时间段里,学生才可以选择课程,不在此时间段,学生不能进行选课操作。 ● 选修课程管理 管理员可以进行添加新的选修课、删除选修课、...

    JSP+MYSQL选课系统

    4. 退选功能:允许用户撤销已选的课程,系统会从选课表中删除相应的记录,同时更新课程选课人数。 5. 管理员功能:管理员可以添加、修改或删除课程,管理学生信息,监控选课情况等。管理员接口通常需要更复杂的业务...

    易选课-青果教务系统选课助手v3.5

    《易选课-青果教务系统选课助手v3.5详解》 在当今的教育信息化进程中,青果教务系统已经成为了许多高校管理学生选课的重要工具。然而,由于选课人数众多,常常会出现网络拥堵、选课困难的情况。为了解决这一问题,...

    通识课选课课程表时间及地点

    通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表时间及地点通识课选课课程表...

    学生选课系统网上选课系统学生选课系统代码

    一、源码特点 1、Asp.netMVc三层架构学生老师选课成绩管理系统源码,网站前端使用layui,js、jqury ...系统后台采用ASP.NET ... 3、学生端:学生信息,课程信息,已选课程,学生成绩 4.系统结构清晰易于更新与维护开发

    MySQL常用练手题目集合 MySQL查询练习题(50题) 共18页.pdf

    MySQL查询练习题旨在帮助用户熟悉和提升SQL查询技巧,涵盖了多方面的数据库操作,如联接查询、...通过解决这些练习题,用户可以深入了解和掌握SQL查询语言的核心功能,为实际数据库管理与数据分析工作打下坚实基础。

    大学选课辅助工具软件--优化版

    最后,值得注意的是,虽然选课辅助工具能够提升选课效率,但学生仍需关注课程内容、教学方式和自我学习目标的匹配,不应完全依赖软件。合理使用工具,结合自身的学术规划,才能真正发挥选课辅助工具的价值。 总的来...

Global site tag (gtag.js) - Google Analytics