课程设计

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述
新学期伊始,Gangster 老师又在为如何给学生分配课程设计题目而犯愁,Gangster老师老共有 N 名学生和 M 个可选的题目,根据这些学生平时的表现,Gangster 老师精确计算出了每名学生完成各个课程设计题目所需的时间,现 Gangster 老师要给每名学生分配一个题目,使得最快完成课程设计同学所需的时间与最慢完成课程设计同学所需的时间的差最小。
输入
第一行给出正整数 T(1<=T<=10 ),表示共有 T 组测试数据,每组测试数据,首先给出两个正整数 N(0<N<=200),M( 0<M<=10),接下来给出 N 行,每行包含 M 个正整数,第 i 行的第 j 个正整数代表第 i 名同学完成第 j 个课程设计所需的时间 p ( 0<=p<=1000 )。
输出
对于每组测试数据,单行输出最小差值。
样例输入
2
3 4
2 4 5 8
6 2 1 9
4 6 8 5
2 3
1 2 3
10 12 10
样例输出
1
7
感觉可以看成是贪心的一种,参考了别人的代码,顺便解释下
 #include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
bool vis[];
struct Node
{
int x ,y;
}node[];
bool cmp(struct Node x ,struct Node y)
{
return x.x<y.x;
}
int solve(int n,int m)
{
int i,j ,temp,temp1, ans;
ans=;
for(i=;i<n;i++)
{
temp=;
memset(vis,false,sizeof(vis));
vis[node[i].y]=true; //每个数上都有标记
for(j=i;j<n;j++)
{
if(!vis[node[j].y])//如果该行还没有选
{
temp++; //选出一行
vis[node[j].y]=true;
if(temp==m) //如果正好够m个了,则拿最大的减去最小的,得到最小的
{
if((node[j].x-node[i].x)<ans)
{
ans=node[j].x-node[i].x;
}
break;
}
}
}
}
return ans;
}
int main()
{
int T ,n, m;
cin>>T;
while(T--)
{
cin>>n>>m;
int temp=;
for(int i=; i<=n; i++)
{
for(int j=;j<m;j++)
{
cin>>node[temp].x; //对所有的进行排序
node[temp++].y=i; //并标记所在的行
}
}
sort(node,node+temp,cmp); //对所有的进行排序
cout<<solve(temp,n)<<endl;
}
return ;
}

nyoj 504 课程设计的更多相关文章

  1. [课程设计]任务进度条&开发日志目录

    任务进度条&开发日志目录 周期 时间 任务 Sprint One   11.14     ●  Scrum团队分工及明确任务1.0    Sprint One   11.15   ●  Scr ...

  2. 课程设计 --- 黑白棋中的 AI

    原文链接:https://www.dreamwings.cn/reversi/3013.html 到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都 ...

  3. Java课程设计——扫雷(winmine)

    因为是我的课程设计,要是有冲突就不好了,转载注明出处!!! 程序很简单,毕竟我是搞acm的,我就只介绍一下闪光点. 中心空白搜索的时候,我用的DFS: 有一点是要注意的,就是JFrame不支持重画,还 ...

  4. [课程设计]Scrum 1.6 多鱼点餐系统开发进度

    [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4. ...

  5. [课程设计]Scrum 1.7 多鱼点餐系统开发进度

    [课程设计]Scrum 1.7 多鱼点餐系统开发进度(点餐菜式内容添加及美化) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题 ...

  6. [课程设计]Scrum 1.3 多鱼点餐系统开发进度

    [课程设计]Scrum 1.3 多鱼点餐系统开发进度   Scrum 1.3 多鱼点餐系统开发进度 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追 ...

  7. [课程设计]Scrum团队分工及明确任务1.0 ----多鱼点餐

    [课程设计]Scrum团队分工及明确任务1.0 ----多鱼点餐 一.开发背景 多鱼点餐系统是一套比较系统化的针对餐厅点餐服务的产品,从顾客进入餐厅点餐到用餐结束再到最后的结账买单,需要全面的.高效的 ...

  8. [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复)

    [课程设计]Scrum 1.6 多鱼点餐系统开发进度(点餐页面按钮添加&修复) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4. ...

  9. [课程设计]Scrum 多鱼点餐系统(团队交流日)

    [课程设计]Scrum  多鱼点餐系统(团队交流日) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...

随机推荐

  1. Windows平台Hadoop编译、安装、配置与运行(转)

    http://www.srccodes.com/p/article/38/build-install-configure-run-apache-hadoop-2.2.0-microsoft-windo ...

  2. listView.getChildAt(i)时java.lang.NullPointerException

    BaseAdapter返回的是当前屏幕所能显示Item条数的组件,所以通过listView.getChildAt(i); 返回的是当前屏幕所能显示的组件.不能通过listView.getChildAt ...

  3. webpack 生命周期

    1.插件 可以安装lifecycle-webpack-plugin 插件来查看生命周期信息. 2.webpack流程(生命周期图) 地址:https://img.alicdn.com/tps/TB1G ...

  4. jQuery中first-child与first选择器区别

    1.first-child first-child为每个父级元素匹配第一个子元素,可以匹配出多个元素: 示例代码: <!DOCTYPE html> <html lang=" ...

  5. 解决 jquery.form.js和springMVC上传 MultipartFile取不到信息

    前段页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  6. pip简单配置

    pip安装Python模块的工具,等价于Redhat中的yum! 01.下载 百度云盘:http://pan.baidu.com/s/1eRHGBfk             ###相关的 Linux ...

  7. CreateThread、_beginthreadex和AfxBeginThread .

    创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整合. [参考1]CreateThread, AfxBeginThread,_begin ...

  8. ORACLE经常使用命令

    1 怎样查看数据库中都有什么表? select * from sys.user_tables; 2 怎样链接数据库 sqlplus /nolog;conn sys/oracle as sysdba; ...

  9. 【TP框架】包括TP3.1和3.2,自带缓存使用机制

    原文章出处: http://blog.163.com/liwei1987821@126/blog/static/172664928201422133218356/ 写在开始:缓存变量和session变 ...

  10. HDUOJ------2398Savings Account

    Savings Account Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...