`
Dev|il
  • 浏览: 121925 次
  • 性别: 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#学生信息 课程信息 选课 成绩 山大一公司应聘编程试题

    c#学生信息管理,课程信息管理,学生选课,成绩录入,查询。 山大一公司应聘编程试题 C#基本学习之用

    网络选课用例图

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

    学生选课系统课程设计

    假设某学期共有5门课,每门课程有四项基本信息:课程编号...5.学生选课功能(学生选课时要判断课程是否已经选满,同时还要判断学生是否已经选了2门课,若学生满足选课条件才能选课,注意同一门课一个学生只能选一次)

    学生网上选课系统

    管理员可以增加,修改,删除学生信息和课程信息,可以查看选课情况,可以修改选课期限,可以修改选课限制人数。 3.从系统的结构看,本系统分为客户端和服务器端,服务器端安装SQL Server2000关系数据库,客户端由...

    学生选课系统.rar

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

    学生选课管理系统

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

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

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

    网上选课系统需求分析

    简单的选课系统需求分析,适合于学生作业,毕业论文。这是我上软件工程实验课写的。作业要求: 网上选课管理系统:主要由以下几个模块构成: ...信息修改:学生基础信息修改,学生选课修改 打印功能:打印所选课程信息

    ASP.NET学生选课系统.、c#学生选课系统源代码asp.net+access +ASP.NET网上选课系统

    ASP.NET学生选课系统,毕业设计(源码+论文+开题+开题报告+答辩PPT);’ 大学时做的学生选课系统,大学生基本用就可以了; 实现了网上选课系统,通过该系统,学校不同角色的用户可以通过网路完成选课系统功能:...

    数学建模试题大全包括“选课问题”等

    数学建模试题大全 包括“选课问题”,“水产的养殖与捕捞”,“三角形识别”,“隔离设计”“供应与选址”“医疗保障基金额度的分配”“定价问题”等

    c++学生选课系统代码

    c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生选课系统代码c++学生...

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

    易选课-青果教务系统选课助手V4.5已发布,完美适配闽南理工学院选课系统,不在为理工的教务系统崩溃而烦恼!想选什么就选什么!易选课,采用不一样的选课技巧,不按常规选课,插队选课,助你快速选好喜欢的课!(用...

    选课系统 v1.0.zip

    设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。 录入学生与教师个人信息:通过此项功能可以实现对教师和学生的...

    选课系统程序附带论文

    设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。 录入学生与教师个人信息:通过此项功能可以实现对教师和学生的...

    学生选课系统需求分析

    学生选课系统需求分析,软件工程导论,课程报告,本系统是为高校学院制定的个人选课及管理的现代化信息平台,学生能过浏览器进行网上选课和并且可以查询自己的选课计划及所选课程进度。同时,管理员可以通过游览器...

    软件工程课程设计【网上选课系统】实验报告+源文件mdl

    用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。

    易选课-青果教务系统选课助手v4.01

    1、修改软件付费机制,去除试用十五分钟制度,增加免费使用功能可免费使用软件进行选课; 2、增加教务网快速选择功能,可以一键选择教务网; 3、增加记住学号功能,避免多次输入学号 4、完善软件内部代码减少软件...

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

    用ASP做的选课系统 针对大学选课 系统功能比较简单 但可以试试

    网上选课系统 Java

    在线选课系统通过WEB应用程序的方式,实现在线选课的流程.学生登录系统后可以查看所有课程的选课情况,并且可以对没有满员的课程进行选课操作,同时也可以查看自己已经选择了那些课程;教师登录系统以后,可以查看所有...

    php网上选课系统

    随着高校学生人数的急剧增加,特别是这几年各大高校实行学分制,学生选课的自由度越来越大,辅导员和教务...本系统有以下基本功能:学生选课、查询已选课程、教师发布课程、管理课程、选课情况查询,管理员管理人员信

Global site tag (gtag.js) - Google Analytics