MrJason @ 2024-06-28 22:07:11
#include<iostream>
using namespace std;
int main()
{
int l,m,sum=0;
cin>>l>>m;
int a[l],b[2][m];
for(int i=0;i<l;i++)
a[i]=1;
for(int i=0;i<2;i++)
{
for(int j=0;j<m;j++)
cin>>a[i][j];
}
for(int o=0;o<m;o++)
{
for(int i=b[0][o];i<b[1][o];i++)
a[i]=0;
}
for(int i=0;i<l;i++)
{
if(a[i]=1)
sum++;
}
cout<<sum;
return 0;
}
by Syncc @ 2024-06-28 22:18:54
@MrJason
by Syncc @ 2024-06-28 22:19:39
if(a[i]=1)
by Syncc @ 2024-06-28 22:20:54
数组开全局,不要按数据定数组大小
by MrJason @ 2024-06-28 22:32:04
@Razer_System 什么意思
by MrJason @ 2024-06-28 22:35:06
编译不过
by Syncc @ 2024-06-28 22:36:35
@MrJason
#include<iostream>
using namespace std;
int a[10005],b[10005];
int main()
{
int l,m,sum=0;
cin>>l>>m;
for(int i=0;i<=l;i++)
a[i]=1;
for(int i=0;i<m;i++){
int l,r;
cin>>l>>r;//左右端坐标
for(int j=l;j<=r;j++){
a[j]=0;//处理被挖掉的树
}
}
for(int i=0;i<=l;i++){
if(a[i]==1){
sum++;//统计没被挖掉的树
}
}
cout<<sum;
return 0;
}
照着你的程序修改了一下
by MrJason @ 2024-06-28 22:37:36
@Razer_System
二维数组+桶排
挺好的呀
by Syncc @ 2024-06-28 22:42:31
@MrJason
#include<iostream>
using namespace std;
int main()
{
int l,m,sum=0;
cin>>l>>m;
int a[l],b[m][2];
for(int i=0;i<=l;i++)
a[i]=1;
for(int i=0;i<m;i++)
{
for(int j=0;j<2;j++)
cin>>b[i][j];
}
for(int o=0;o<m;o++)
{
for(int i=b[o][0];i<=b[o][1];i++)
a[i]=0;
}
for(int i=0;i<=l;i++)
{
if(a[i]==1)
sum++;
}
cout<<sum;
return 0;
}
那就这样子
by MrJason @ 2024-06-29 13:06:03
@Razer_System
谢谢!