fanhy @ 2017-08-16 14:40:30
#include<iostream>
using namespace std;
int main()
{
short l,m;
cin>>l>>m;
bool a[l];
short x[m],y[m],tree=l+1;
for(int k=0;k<=l;k++) a[k]=1;
for(int i=0;i<m;i++)
{
cin>>x[i]>>y[i];
for(int j=x[i];j<=y[i];j++)
{
if(a[j]==1) tree--;
a[j]=0;
}
}
cout<<tree;
return 0;
}
by 浮梦若生 @ 2017-08-16 14:53:39
好像(划去)貌似(划去)真的是错的。
by 浮梦若生 @ 2017-08-16 15:00:39
我要用楼主正解拿AC、发题解!美滋滋呀美滋滋~
by 浮梦若生 @ 2017-08-16 15:15:18
楼主正解难道就是传说中NOIP史诗级题目“校门外的树”的传世正解吗?
by _Aehnuwx @ 2017-08-20 20:29:07
#include<iostream>
using namespace std;
int main()
{
int a[10],x,n=30,s=0;
for(int i=0;i<10;i++) cin>>a[i];
cin>>x;
for(int i=0;i<10;i++)
if(x+n>=a[i]) s++;
cout<<s<<endl;
return 0;
}
by MscWood @ 2017-08-23 16:38:46
@[kerry陈](/space/show?uid=18250) #include<iostream>
int ans,h;
void pd(int x)
{if(h+30>=x) ans++; //只要小于最大高度就能摘 }
using namespace std;
int main()
{
int a[11];
for(int i=1;i<=10;i++) cin>>a[i];
cin>>h;
for(int i=1;i<=10;i++) pd(a[i]);
cout<<ans;
}
by 孙达维 @ 2017-08-29 10:25:50
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
int a[11],h,i,s=0;
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
scanf("%d",&h);
for(i=1;i<=10;i++){
if(h+30>=a[i]) s=s+1;
}
printf("%d",s);
return 0;
}
by andysk @ 2017-09-04 20:52:23
太麻烦了,一个这么简单的题目,你想的这么复杂,下面看到的同学见本帖代码
#include<cstdio>
#include<iostream>
using namespace std;
int a[1000001];
int main()
{
int n,s=0;
for(int i=1;i<=10;i++)
cin>>a[i];
cin>>n;
n+=30;
for(int i=1;i<=10;i++)
{
if(n>=a[i])
s++;
}
cout<<s;
return 0;
}
by Zongweitao @ 2017-09-08 21:42:43
楼主的代码不是“校门外的树”的吗?
by ganyihan @ 2023-08-15 18:19:14
你只是没见过更简单的。
#include <bits/stdc++.h>
using namespace std;
int main(){
int t,sum=0,a[10];
for(int i=0;i<10;i++)cin>>a[i];
cin>>t;
for(int i=0;i<10;i++)if(a[i]<=t+30)sum++;
cout<<sum;
return 0;
}