山东理工大学ACM平台题答案关于C语言 1259 Bad Hair Day

来源:互联网 发布:源码查看 编辑:程序博客网 时间:2024/05/01 13:42

Bad Hair Day

Time Limit: 2000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows' heads.
 
Each cow i has a specified height hi (1 ≤ hi ≤ 1,000,000,000) and is standing in a line of cows all facing east (to the right in our diagrams). Therefore, cow i can see the tops of the heads of cows in front of her (namely cows i+1, i+2, and so on), for as long as these cows are strictly shorter than cow i.

Consider this example:
        =
=       =
=   =   =       Cows facing right-->
=   =   =
= = = = =
= = = = = =
1 2 3 4 5 6
 
Cow#1 can see the hairstyle of cows #2, 3, 4
Cow#2 can see no cow's hairstyle
Cow#3 can see the hairstyle of cow #4
Cow#4 can see no cow's hairstyle
Cow#5 can see the hairstyle of cow 6
Cow#6 can see no cows at all!

Let ci denote the number of cows whose hairstyle is visible from cow i; please compute the sum of c1 through cN.For this example, the desired is answer 3 + 0 + 1 + 0 + 1 + 0 = 5.

输入

Line 1: The number of cows, N.
Lines 2..N+1: Line i+1 contains a single integer that is the height of cow i.

输出

Line 1: A single integer that is the sum of c1 through cN.

示例输入

610374122

示例输出

5

Bad Hair Day

倒霉的日子

Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^

时间限制:2000ms内存限制:65536k有疑问点这里^ _ ^

题目描述

题目描述

Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows' heads.

一些农夫约翰的奶牛(1≤N≤80000)有一个糟糕的发型!由于每个奶牛对她凌乱的发型的自觉福建要清点人数,其他的奶牛,可以看到其他牛的头

Each cow i has a specified height hi (1 ≤ hi ≤ 1,000,000,000) and is standing in a line of cows all facing east (to the right in our diagrams). Therefore, cow i can see the tops of the heads of cows in front of her (namely cows i+1, i+2, and so on), for as long as these cows are strictly shorter than cow i.

我有一个指定的每头奶牛的高度高(1≤嗨≤1000000000)和站立在一行牛所有面向东方(在图右)。因此可以看到在她面前的奶牛的头的顶端牛,12等等只要这些牛是严格小于

Consider this example:

考虑一下这个例子

        =

=       =

=   =   =       Cows facing right-->

朝右-->

=   =   =

= = = = =

= = = = = =

1 2 3 4 5 6

1 2 3 4 5 6

Cow#1 can see the hairstyle of cows #2, 3, 4

# 1可以看到# 234

Cow#2 can see no cow's hairstyle

# 2可以看到没有牛的发型

Cow#3 can see the hairstyle of cow #4

# 3可以看到# 4发型

Cow#4 can see no cow's hairstyle

# 4可以看到没有牛的发型

Cow#5 can see the hairstyle of cow 6

# 5可以看到牛6头发型

Cow#6 can see no cows at all!

牛# 6可以看到牛都没有!

Let ci denote the number of cows whose hairstyle is visible from cow i; please compute the sum of c1 through cN.For this example, the desired is answer 3 + 0 + 1 + 0 + 1 + 0 = 5.

表示的奶牛的发型是从牛可见的数量通过CN计算C1的总和。在这个例子中所需的回答“3 + 0 + 1 + 0 + 1 + 0 = 5

输入

输入

Line 1: The number of cows, N.

行1:牛的数量N。

Lines 2..N+1: Line i+1 contains a single integer that is the height of cow i.

线2。n + 1 + 1我行包含一个整数的高度

输出

输出

Line 1: A single integer that is the sum of c1 through cN.

1行:一个整数,即通过CN C1的总和

示例输入

示例输入

6

6

10

10

3

3

7

7

4

4

12

12

2示例输出

2示例输出

5

5

#include <stdio.h>

int main()

{

    int n, i, j, count;

    int a[80000];

    while (scanf("%d", &n) == 1){

        for (i=0; i<n; i++)

            scanf("%d", a+i);

        count = 0;

        for (i=0; i<n; i++){

            for (j=i+1; j<n; j++)

                if (a[j] >= a[i]) break;

            count += j-i-1;

        }

        printf("%d\n", count);

    }

    return 0;

}

0 0
原创粉丝点击