南阳613

 1 //与数塔一样dp递推即可
 2 #include<cstdio>
 3 #include<cstring>
 4
 5 int a[100005][11];
 6
 7 int Max(int a,int b)
 8 {
 9     return a>b?a:b;
10 }
11
12 int Max(int a,int b,int c)
13 {
14     return Max(a,b)>c?Max(a,b):c;
15 }
16
17 int main()
18 {
19     int n,maxn;
20     while(~scanf("%d",&n) && n)
21     {
22         maxn = 0;
23         memset(a,0,sizeof a);
24         while(n--)
25         {
26             int x,t;
27             scanf("%d%d",&x,&t);
28             ++a[t][x];
29             if(t > maxn)
30                 maxn = t;
31         }
32         for(int i=maxn-1; i>=0; --i)
33             for(int j=0; j<11; ++j)
34                 if(j == 0)
35                     a[i][j]+=Max(a[i+1][j],a[i+1][j+1]);
36                 else if(j == 10)
37                     a[i][j]+=Max(a[i+1][j],a[i+1][j-1]);
38                 else
39                     a[i][j]+=Max(a[i+1][j],a[i+1][j+1],a[i+1][j-1]);
40         printf("%d\n",a[0][5]);
41     }
42 }
时间: 2024-10-10 09:46:19

南阳613的相关文章

2015南阳CCPC L - Huatuo&#39;s Medicine 水题

L - Huatuo's Medicine Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description Huatuo was a famous doctor. He use identical bottles to carry the medicine. There are different types of medicine. Huatuo put medicines into the bottles and chain these b

【南阳OJ分类之语言入门】80题题目+AC代码汇总

声明: 题目部分皆为南阳OJ题目. 代码部分包含AC代码(可能不止一个)和最优代码,大部分都是本人写的,并且大部分为c代码和少部分c++代码and极少java代码,但基本都是c语言知识点,没有太多差别,可能代码有的写的比较丑,毕竟知识有限. 语言入门部分题基本都较为简单,是学习编程入门的很好练习,也是ACM的第一步,入门的最佳方法,望认真对待. 本文由csdn-jtahstu原创,转载请注明出处,欢迎志同道合的朋友一起交流学习.本人QQ:1373758426和csdn博客地址. now begi

南阳理工 题目9:posters(离散化+线段树)

posters 时间限制:1000 ms  |  内存限制:65535 KB 难度:6 描述 The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council has finally deci

南阳理工另一种阶乘问题

#include<stdio.h>int main(){  int n,m;  int sum,i;  int a[21];  int t=1,t1=1;  for(i=1;i<21;i=i+2)  {   a[i]=t*t1;   a[i+1]=a[i];   t=t1*t;   t1=t1+2;  }  scanf("%d",&n);  while(n--)  {   sum=0;   scanf("%d",&m);   for

南阳 7

街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间隔相等. 用(x,y)来表示住户坐在的街区. 例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道. 现在要建一个邮局,使得各个住户到邮局的距离之和最少. 求现在这个邮局应该建在那个地方使得所有住户距离之和最小: 输入 第一行一个整数n<20,表示有n组测试数据,下面是n组数据; 每组第

南阳OJ-38 布线问题(最小生成树应用_prim)

布线问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1.把所有的楼都供上电.2.所用电线花费最少 输入 第一行是一个整数n表示有n组测试数据.(n<5)每组测试数据的第一行是两个整数v,e.v表示学校里楼的总个数(v<=500)随后的e行里,每行有三个整数a,b,c表示a与b之间如果建铺设线路花费为c(c<=100).(哪两栋楼间如果没有指明花费,则表示这

南阳19--擅长排列的小明(Dfs)

时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长.现在需要你写一个程序来验证擅长排列的小明到底对不对. 输入 第一行输入整数N(1<N<10)表示多少组测试数据,每组测试数据第一行两个整数 n m (1<n<9,0<m<=n) 输出 在1-n中选取m个字符进行全排

南阳nyoj586疯牛 和nyoj619详解总结

这里先看nyoj619青蛙过桥,这样便于理解这两道题的共同点:最大值中的最小值, 题意:有一条河长L,中间有 n 块石头,青蛙最多可以跳 m 次,问题是:要保证青蛙能跳过去,那么它至少能一下跳多远,才能在m次范围内跳过去: 最大值中的最小值:这里要保证m次能跳过去,那么在这个过程中就会有很多种方法能在m次之内跳过去,那么,每一个方法中,我们就会有一个最大的跳跃距离! 比如:L=20,n=1:m=2:石头的位置是5 那么方法有:1.一次就跳过去,2.借助中间的石头,两次跳过去:那么在方法一中的最大

南阳理工acm 1

C++版: #include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b<<endl; } 南阳理工acm 1,布布扣,bubuko.com