更新时间2018-09-25 13:32:25
我的程序有什么问题,样例不过?求解释(来自一个初学者的疑问)
50360U2997288439追加匿名3级分类:编程开发被浏览14次2018.09.20
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,l,j,a,b;
int main(){
cin>>n>>l>>j;
for(int i=0;i<=3;i++){
b=min(j,l-j);
a=max(a,b);
}
cout<<a<<endl;
return 0;
}
题目:
2.蚂蚁爬竹竿
(ant.cpp/c/pas)
【问题描述】
n只蚂蚁以每秒1厘米的速度在长为L厘米的水平放置的竹竿上爬行。当蚂蚁爬到竹竿的任意一个端点时就会掉落。对于每只蚂蚁,我们知道开始时它距离竹竿左端的距离为ai。
请计算所有蚂蚁都掉落下竹竿时所需的最短时间。
【输入】
输入文件名为ant.in。
第一行,n,蚂蚁的数量。
第二行,L,竹竿的长度。
第三行,n只蚂蚁距离竹竿左端点的距离。
【输出】
输出文件名为ant.out。
输出共一行,包含一个正整数,表示所有蚂蚁都掉下竹竿所需的最短时间。
【输入输出样例】
Ant.in
ant.out
3
10
2 6 7
4
【样例说明】
3只蚂蚁都爬下竹竿最快的方法是:第1只蚂蚁往左爬下竹竿需要2秒;第2只蚂蚁往右爬下竹竿需要4秒;第3只蚂蚁往右爬下竹竿需要3秒。所以3只蚂蚁全都爬下竹竿所需的最短时间是4秒。
【数据范围】
对于50%的数据:1<=L<=10000;1<=n<=1000;0<=ai<=L;
对于100%的数据:1<=L<=1000000000;1<=n<=1000000;0<=ai<=L。
你的算法完全不正确
不说其它的,你的输入就不对
例样输入三行5个数,你程序只接收了3个数
另外,循环也不对啊,你的i<=3中的3哪里来的?
按你写程序的基础,这个OJ你是无法达到的
可以给你参考,但最终考试或比赛还是要你自己完成的
放进编译器里调试一下
上一篇:这样的错误信息怎么处理
下一篇:二级计算机的问题