为什么全紫,pycham上做对了

P1047 [NOIP2005 普及组] 校门外的树

linyiyi123456 @ 2023-02-19 20:17:56

num = int(input('请输入马路长度:'))
shu = int(input('请输入区域数目:'))
ls1 = []
for i in range(num + 1):
    ls1.append(1)
for i in range(shu):
    begin: int = int(input('请输入起始点'))
    over = int(input('请输入终止点:'))
    for j in range(begin, (over + 1)):
        ls1[j] = 0
chang = 0
for i in range(len(ls1)):
    chang += ls1[i]
print(chang)

by Yujinhe469 @ 2023-02-19 20:21:01

你把那些“请输入”的都去了


by __YLX @ 2023-02-19 20:23:36

不熟悉算法竞赛的选手请看这里:

算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了 “请输入整数 a 和 b” 这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是 Wrong Answer,即洛谷上的 WA。在对比代码输出和标准输出时,系统将忽略每一行结尾的空格,以及最后一行之后多余的换行符。


by RP_INT_MAX @ 2023-02-19 20:27:03


by __er @ 2023-02-19 20:31:22

难蚌


by linyiyi123456 @ 2023-02-19 20:46:45

@Yujinhe469 删了之后好像还是全紫,悲伤


by linyiyi123456 @ 2023-02-19 20:51:12

@RP_INT_MAX 大佬帮忙看一下我这怎么错了

#include<stdio.h>
int main()
{
    int i,j,m;
    int tree[1000];
    int len,place,a,number=0,b;
    scanf("%d,%d",&len,&place);
    //给原来的数标记 1
    for(i=0;i<=len;i++)
    {
        tree[i]=1;
    }
    //给被砍的树标0 
    for(j=0;j<place;j++)
    {
        scanf("%d,%d",&a,&b);
        if(a<b){
            for(m=a;m<=b;m++)
          {
            tree[m]=0;
          }
        } 

    }
    //算出没被砍的树 
    for(i=0;i<=len;i++)
    {
        number+=tree[i];
    }
    printf("%d",number);
    return 0;
 } 

by 蛋蛋工作室 @ 2023-02-19 20:56:32

我之前写的py代码:

a=input()
b=a.split(' ')
b[0]=int(b[0])
b[1]=int(b[1])
c=[]
for i in range(0,b[0]+1):
    c+=[1]
#print(c)
for i in range(0,b[1]):
    d=input()
    f=d.split(' ')
    f[0]=int(f[0])
    f[1]=int(f[1])
    for j in range(f[0]-1,f[1]):
        c[j]=0
summ=0
for i in range(0,b[0]+1):
    if(c[i]==1):
        summ+=1
print(summ)

by 蛋蛋工作室 @ 2023-02-19 21:01:39

python的input是一整行读入的,就像这行代码:

num = int(input())

在样例中读入的就是500 3,但定义的类型是整数,就会直接报错


by Ifuncube7 @ 2023-02-19 21:28:02

谢谢


by linyiyi123456 @ 2023-03-02 00:10:19

@蛋蛋工作室 谢谢大佬,编译通过了


| 下一页