返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #88965同步于 2016/3/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
bupt oj 256 一直答案错误,求分析
XYZXF614
2016/3/2镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 chenxiansf 的大作中提到: 】
: 这题不难吧,本地慢慢调试一下吧
您好,您能帮我看一下代码吗?我真得调试了半天,给出的测试数据都可以运行,但结果老是答案错误
#include<stdio.h>
int main()
{
int t,i,a[100],n,j,k,p,max;
scanf("%d",&t);
for(i=0;i<t;i++)
{
k=2;
max=2;
scanf("%d",&n);
for(j=0;j<n;j++)
scanf("%d",&a[j]);
j=0;
while(j<n)
{
if((a[j]-a[j-1])==(a[j+1]-a[j]))
k++;
else
{
p=k;
k=2;
}
j++;
if(p>max)
max=p;
}
printf("%d\n",max);
}
return 0;
}
不爱看人代码。给你我AC的代码你参考一下吧
/*
USER_ID: test#yingzinanfei
PROBLEM: 256
SUBMISSION_TIME: 2015-03-27 09:12:48
*/
#include<stdio.h>
int buf[101];
int diff[101];
int main(){
int t;
while(scanf("%d", &t) != EOF){
for(int a = 1; a <= t; a++){
int n;
scanf("%d", &n);
for(int i = 1; i <= n ;i++){
scanf("%d", &buf[i]);
}
if(n == 1) printf("1\n");
else {
for(int i = 1; i < n; i++){
diff[i] = buf[i + 1] - buf[i];
}
int len = 1;
int lenMax = 1;
int d = diff[1];
for(int i = 2; i < n; i++){
if(diff[i] == d){
len++;
}
else{
if(len > lenMax){
lenMax = len;
}
d = diff[i];
len = 1;
}
}
if(len > lenMax){
lenMax = len;
}
printf("%d\n", lenMax + 1);
}
}
}
return 0;
}
【 在 XYZXF614 的大作中提到: 】
: 您好,您能帮我看一下代码吗?我真得调试了半天,给出的测试数据都可以运行,但结果老是答案错误
: #include<stdio.h>
: int main()
: ...................