标题:[求助]这是错在了那里?
只看楼主
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
 问题点数:0 回复次数:28 
[求助]这是错在了那里?

大家看看这道题,我感觉我没有做错!为什么总是wrong anwser 呢!
Number sequence

--------------------------------------------------------------------------------

Time limit: 1sec. Submitted: 31
Memory limit: 64M Accepted: 8

Source : SCU Programming Contest 2006 Final

--------------------------------------------------------------------------------

Given a number sequence which has N element(s), please calculate the number of different collocation for three number Ai, Aj, Ak, which satisfy that Ai < Aj > Ak and i < j < k.

Input
The first line is an integer N (N <= 50000). The second line contains N integer(s): A1, A2, ..., An(0 <= Ai <= 32768).

Output
There is only one number, which is the the number of different collocation.

Sample Input
5
1 2 3 4 1

Sample Output
6






#include <stdio.h>
#define N 1000

int main(void)
{
long s;
int str1[N], i, j, k = 1, num = 0;

scanf("%ld", &s);
for(i = 0;i < s;i ++)
scanf("%d", &str1[i]);
for(k = 1;k < s - 1;k ++)
for(i = 0;i < k;i ++)
for(j = k + 1;j < s;j ++)
{
if(str1[k] > str1[i]&&str1[k] >str1[j])
num ++;
}
printf("%d\n", num);

return 0;

}

搜索更多相关主题的帖子: sequence limit number collocation SCU 
2006-12-09 17:32
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 

有谁能翻译一下?


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-09 17:35
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

没看你的程序,但一点你就错了
N (N <= 50000). The second line contains N integer(s): A1, A2, ..., An(0 <= Ai <= 32768).
而你定义的数组才多大.


倚天照海花无数,流水高山心自知。
2006-12-09 17:35
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
楼上,lz说总是错误,一定还有其它原因的

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-09 17:37
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
现在去吃饭,所以没看程序,等回来再帮LZ看看
不好意思哈.

倚天照海花无数,流水高山心自知。
2006-12-09 17:39
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 
我数组也定义过很大!但是还是错误!
这道题的大概意思是先输入一个数字,是一个数列当中元素的个数!输入整个数列之后!判断这个数列中的三个数,要求其中中间的数要大于两边的数!Ai < Aj > Ak i < j < k这三个数还要求是按原数列当中的顺序排列!

该学习了。。。
2006-12-09 17:43
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 
呵呵!没有关系!

该学习了。。。
2006-12-09 17:43
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 

#include <stdio.h>
#define N 4000

int main(void)
{
long s;
int str1[N]={0},i,j,k;
long num=0;

scanf("%ld", &s);
for(i=0L;i<s;i++)
scanf("%d",&str1[i]);
for(k=1;k<s-1;k++)
for(i=0;i<k;i++)
for(j=k+1;j<s;j++)
if(str1[k]>str1[i] && str1[k]>str1[j]) num++;
printf("%ld\n",num);
getch();
return 0;
}


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-09 18:03
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 

我交了,还是错误!


该学习了。。。
2006-12-09 18:08
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

#include<stdio.h>

int main()
{
int i,j,k,n;
unsigned int a[50000];
long count=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-2;i++)
{
for(j=i+1;j<n-1;j++)
{
for(k=j+1;k<n;k++)
{
if(a[i]<a[j]&&a[j]>a[k])
{
count++;
}
}
}
}
printf("%ld\n",count);
return (0);
}

/*估计会超时*/


倚天照海花无数,流水高山心自知。
2006-12-09 18:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108396-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.455393 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved