题目描述 Description

大学排名现在已经非常流行。在网上搜索可查到关于中国大学排行的各个方面的消息。

我们知道,在一大学里通常都由许多不同的“系”(专业)组成,比如计算机系(简称CS);电子工程系(简称EE);外语系(简称FLS),等等。在一个大学里,其某一专业也许国内排前几,但其他专业却默默无闻。因此,大多数大学排行榜都有不同专业的详细的排名。

但是信息量如此巨大的光芒,却掩盖不了一个严重的问题:究竟哪个大学更好?幸运的是,波布博士提出了一个新概念“绝对更好”,使得这个难题能被部分解决。

为了更好地阐述波布博士的新概念,我们举一个例子:

假设现在有三大学:X大学、Y大学、Z大学。每所大学都有三个专业:CS,EE,FLS。而这三所大学三个专业国际公认的排名如下:

CS排名:X>Y>Z(X>Y表示X的CS专业比Y的好)

EE排名:X>Z>Y

FLS排名:Z>X>Y

显然,X大学的每个专业都比Y大学好,所以X大学绝对比Y大学好。运用这个概念我们就能比较出一些大学的优劣。

现在波布博士有一份完整的各个大学不同专业的排名,他想找出这样的K个大学(U1,U2,U3…,Uk),Ui一定比Uj(i<j)好。

你能告诉波布博士这个K的最大值么?

输入描述 Input Description

第一行有两个整数N,M(0<N,M≤100),表示有N所大学和M项专业。

接下来的M行中,第i(1<=i<=m)行有N所大学的编号Uj(1≤j≤N,1≤Uj≤N),代表第i个专业N大学的排名(越在前的排名越前)。

输出描述 Output Description

输出文件应该一行,该行是K值的最大值。不需要多余的空格。

样例输入 Sample Input

3 3

1 2 3

1 3 2

3 1 2

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

0<N,M≤100

/*
不禁被自己的2货行为所折服啊
一看题目就知道是求最长路,然后就想到了记忆化搜索,犯了两个错误
一是题目读错了,m和n循环式写反了(这样都拿了70分……)
二是记忆化搜索忘记返回值了(还以为记忆化过不了,快吓死了……)
快NOIP了,不能犯低级错误啊!!!
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#define N 110
using namespace std;
int a[N][N],in[N],head[N],f[N],n,m,cnt,ans;
struct node
{
int v,pre;
};node e[N*N];
int read()
{
int num=,flag=;char c=getchar();
while(c<''||c>''){if(c=='-')flag=-;c=getchar();}
while(c>=''&&c<=''){num=num*+c-'';c=getchar();}
return num*flag;
}
void add(int x,int y)
{
++cnt;e[cnt].v=y;
e[cnt].pre=head[x];
head[x]=cnt;
}
int dfs(int x)
{
if(!head[x])return ;
if(f[x])return f[x];//忘记加这个了,呃呃呃……
for(int i=head[x];i;i=e[i].pre)
f[x]=max(f[x],dfs(e[i].v)+);
return f[x];
}
int main()
{
freopen("jh.in","r",stdin);
n=read();m=read();
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
{
int x;scanf("%d",&x);
a[x][i]=j;
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(i!=j)
{
bool flag=false;
for(int k=;k<=m;k++)
if(a[i][k]>a[j][k])
{
flag=true;break;
}
if(!flag)add(i,j),in[j]++;
}
for(int i=;i<=n;i++)
if(!in[i])
ans=max(ans,dfs(i));
printf("%d",ans);
return ;
}

高校排名 加强版(codevs 2799)的更多相关文章

  1. excel acm 高校排名(hdoj)

    其实写一个程序是最方便的... 不用每次进行很多次操作. 当然,能获得后台的数据更好…… e.g. 链接: https://pan.baidu.com/s/1a7s85oaKGam1-0mJ2v39u ...

  2. 数字三角形W(加强版) codevs 2189

    2189 数字三角形W 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 数字三角形 要求走到最后mod 100最大 输入描述 Inpu ...

  3. 数据分析:中国高校更名历史 Python

    上周领了新任务,做国内高校改名历史的统计,这个挺有意思,以下是我任务完成过程,和大家分享. 一. 数据收集 数据需求:目前已有高校校名,各高校改名历史记录 高校校名数据来源:尝试从高校排名网站(iPI ...

  4. Python爬虫练习:爬取800多所大学学校排名、星级等

    前言 国内大学最新排名,北大反超,浙大仅第四,中科大跌至第八 时隔五年,"双一流"大学即将迎来首次大考,这也是继改变高校评断标准之后,第一次即将以官方对外发布,自然是引来了许多人的 ...

  5. Python爬虫与数据图表的实现

    要求: 1. 参考教材实例20,编写Python爬虫程序,获取江西省所有高校的大学排名数据记录,并打印输出. 2. 使用numpy和matplotlib等库分析数据,并绘制南昌大学.华东交通大学.江西 ...

  6. python输出格式对齐问题

    采用.format打印输出时,可以定义输出字符串的输出宽度,在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度. 用于美化表格时很有用. >>> table = {'Goo ...

  7. Leetcode的SQL题解:185. 部门工资前三高的员工

    题目 查询部门工资前三高的员工. 我用的数据库是oracle. 下面是数据表的信息. Employee表数据: | ID | NAME | Salary | DepartmentId | | -- | ...

  8. python 输出对齐

    几种不同类型的输出对齐总结: 先看效果: 采用.format打印输出时,可以定义输出字符串的输出宽度,在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度. 用于美化表格时很有用. >& ...

  9. USNews2018世界大学1250所排行榜

    USNews2018世界大学1250所排行榜(最全版) 中外学术情报<更多内容2017-10-27 09:00:00 10月24日,USNews发布2018世界大学排行榜,来自全球74个国家或地 ...

随机推荐

  1. 在lua脚本中使用我们自定义的精灵类

    首先创建cocos2dx-lua项目,然后在项目中添加我们的自定义精灵类:这里Himi类名为:HSprite // // HSprite.h // cocos2dx_lua_tests_by_Himi ...

  2. Android Sqlite 数据库版本更新

      Android Sqlite 数据库版本更新 http://87426628.blog.163.com/blog/static/6069361820131069485844/ 1.自己写一个类继承 ...

  3. MongoDB的索引(四)

    创建索引的好处是可以加快查询速度,但是但来的负面影响就是磁盘的开销和降低写入性嫩. 查看评判当前索引构建情况方法: 1. 使用mongostat工具: 查看mongodb运行状态的程序 使用格式:mo ...

  4. UNTIY3D接入91SDK的办法

    原地址: http://bbs.18183.com/thread-111324-1-1.html UNITY3D接入Android-SDK 方法一:把UNITY3D游戏打成安卓项目文件,修改安卓项目文 ...

  5. xcode快捷方式 一 快速找到对应文件

    事情是这样的,当一个项目进行到一定程度的时候,文件就多了.通过storyboard或xib,相对应的文件.m/.h拖线或其他的操作时,找到对应的文件稍显麻烦.今天,一个快捷方式解决了这个困扰. 注:在 ...

  6. Extjs String转Json

    var jsonStr= '{ "name": "zhangsan", "age": "18" }'; var json ...

  7. Resizing the disk space on Ubuntu Server VMs running on VMware ESXi 5

    from: http://www.joomlaworks.net/blog/item/168-resizing-the-disk-space-on-ubuntu-server-vms-running- ...

  8. mac os x安装php7.0和phalcon3.0

    1,安装xampp(with php7.0) 下载地址: https://www.apachefriends.org/download.html 2,安装phalcon3.0 cd ~/git clo ...

  9. JavaScript工作原理和Node异步I/O

    1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序.比如var a=1+2:对于静态语言来说 ...

  10. [转载] C++ 突破私有成员访问限制

    最后一个方式 模板尚未弄清楚. 我们在写代码的时候,按约定都是把成员数据放到private访问区中,然后在通过相应的函数来存取.那又有什么样的代码可以突破访问权限来直接操作类中private区段中的成 ...