20分 用C++写的 求大佬们救命

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

你是打算让我猜变量的意思??
by liqingyang @ 2020-03-01 15:26:57


@[SylviaFang](/user/289130) 用我的思路试试(好久以前写的): ```cpp // luogu-judger-enable-o2 #include <stdio.h> int main(){ int l,m,start,stop,count=0; scanf("%d%d",&l,&m); int a[l+1]; for(int i=0;i<=l;i++){ a[i]=1; } for(int i=0;i<m;i++){ scanf("%d%d",&start,&stop); for(int j=start;j<=stop;j++){ a[j]=0; } } for(int i=0;i<=l;i++){ if(a[i]!=0){ count++; } } printf("%d",count); return 0; } ```
by BlueSu @ 2020-03-01 15:28:06


怎么不试试我的(个人认为较短): ```cpp #include<iostream> using namespace std; bool a[10010]; int main() { int l,m,ans=0; cin>>l>>m; for(int i=1;i<=m;i++) { int a1,a2; cin>>a1>>a2; for(int j=a1;j<=a2;j++) { a[j]=1; } } for(int i=0;i<=l;i++) { ans+=!a[i]; } cout<<ans<<endl; return 0; } ```
by liqingyang @ 2020-03-01 15:29:42


个人认为很短 ```cpp #include <iostream> using namespace std; bool a[10000+10]; int main(){ int n,m,x,y,ans=0; cin >> n >> m; for (int i=0;i<m;i++){ cin >> x >> y; for (int j=x;j<=y;j++){ a[j]=1; } } for (int i=0;i<=n;i++){ if (!a[i]) ans++; } cout << ans << endl; return 0; } ```
by HearTheWindSing @ 2020-03-01 15:31:10


@[wangyxhaha](/user/177072) 来看看[这个](https://www.luogu.com.cn/discuss/show/196746)呗
by liqingyang @ 2020-03-01 15:34:41


@[liqingyang](/user/272088) emmmm对不起,没做过QAQ
by HearTheWindSing @ 2020-03-01 15:38:24


没关系
by liqingyang @ 2020-03-01 15:39:03


@[liqingyang](/user/272088) 我年龄比你还大,学的时间比你还长,但是不能像你一样爆切蓝题QAQ
by HearTheWindSing @ 2020-03-01 15:43:39


个人认为最短 ``` #include<bits/stdc++.h> using namespace std; int main() { int i,j,a[10010]={0},m,l,b,e,sum=0; cin>>l>>m; for(i=1;i<=m;++i){ cin>>b>>e; for(j=b;j<=e;++j) a[j]=1; } for(i=0;i<=l;++i) if(a[i]==0)sum++; cout<<sum; } ```
by Kevin施黄凯 @ 2020-03-09 15:06:18


~~个人认为很短~~ **其实很长** ```cpp #include<iostream> #include<cstdlib> #include<cstring> using namespace std; int a[10001]; void dfs(int x,int y){ for(int i=x;i<=y;i++){ if(a[i])a[i]=0; } return; } int bfs(int x){ int s=0; for(int i=0;i<=x;++i) if(a[i])s++; return s; } int main(){ int m,l,s,x,y; cin>>l>>m; memset(a,1,sizeof(a)); for(int i=1;i<=m;i++){ cin>>x>>y; dfs(x,y); } s=bfs(l); cout<<s; return 0; } ```
by _SHM_ @ 2020-03-15 12:41:15


|