题目:
Description
有只企鹅叫豆豆,总是被别的企鹅欺负。豆豆在长期的隐忍之后,掌握了所有企鹅的高度和攻击力强度,还得到了一把黄金剑。在拥有了黄金剑以后,豆豆终于可以展开绝地大反击。但这把黄金剑的用法却很奇怪。
首先,豆豆第一次可以选择任何一只企鹅开始挑战。豆豆这一次必胜。
再次,当豆豆已经挑战过某一只企鹅后,再下一次的挑战对象只能是比上一名对手高,且比上一名对手攻击力强的企鹅。这样豆豆必胜。否则黄金剑会觉得打的没意思而故意发脾气输掉。豆豆还会被大家集体暴打。
面对着这把脾气很大的黄金剑,豆豆想请你帮助他计算一下,他最多可以连续击败多少只企鹅?
Input
第一行:一个数据n,代表企鹅群里除了豆豆一共有n(1 ≤ n ≤ 1000)只企鹅。
第2至第n+1行:每行2个数字。第i+1行的第一个数字为企鹅i的高度。第i+1行的第二个数字为企鹅i的攻击力。0 ≤ 高度,攻击力 ≤ 1,000,000。
第2至第n+1行:每行2个数字。第i+1行的第一个数字为企鹅i的高度。第i+1行的第二个数字为企鹅i的攻击力。0 ≤ 高度,攻击力 ≤ 1,000,000。
Output
一个数。代表豆豆最多可以连续击败的企鹅数。
Sample Input
Sample Input #1 | Sample Input #2 |
3 1 3 3 2 2 4 | 5 10 1 9 2 7 3 6 4 5 5 |
Sample Output
Sample Output #1 | Sample Output #2 |
2 | 1 |
C#代码如下:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->1
publicclassQQ
2

{
3
publicintHeight
{get;set;}
4
publicintATK
{get;set;}
5
}
6
classProgram
7

{
8
staticvoidMain(string[]args)
9

{
10
intn,h,atk;
11
Console.WriteLine("inputthepopulationn(1<=n<=1000):");
12
while((n=int.Parse(Console.ReadLine()))>1000||n<1);
13
List<QQ>population=newList<QQ>(n+1);
14
15
Console.WriteLine("inputtheHeightandATKproperties,splitbyonespace:");
16
for(inti=0;i<n;i++)
17

{
18
string[]property=Console.ReadLine().Split(newChar[]
{''});
19
if((h=int.Parse(property[0]))<1000000&&h>-1&&
20
(atk=int.Parse(property[1]))<1000000&&atk>-1)
21
population.Add(newQQ
{Height=h,ATK=atk});
22
}
23
24
population.Sort((a,b)=>
25

{
26
if(a.Height!=b.Height)
27
returna.Height-b.Height;
28
elseif(a.ATK!=b.ATK)
29
returna.ATK-b.ATK;
30
else
31
return0;
32
});
33
34
int[]tb=newint[n];
35
for(inti=0;i<n;i++)
36

{
37
tb[i]=1;
38
}
39
40
for(inti=0;i<n;i++)
41

{
42
for(intj=0;j<i;j++)
43

{
44
if(population[i].Height>population[j].Height&&
45
population[i].ATK>population[j].ATK&&tb[i]<tb[j]+1)
46

{
47
tb[i]=tb[j]+1;
48
}
49
}
50
}
51
Console.WriteLine("theansweris:"+tb.Max().ToString());
52
}
53
}

2



3



4



5

6

7



8

9



10

11

12

13

14

15

16

17



18



19

20

21



22

23

24

25



26

27

28

29

30

31

32

33

34

35

36



37

38

39

40

41



42

43



44

45

46



47

48

49

50

51

52

53

PS:还是可以更健壮更优化的,欢迎交流 ;-)