KvX07 @ 2022-04-13 10:13:01
小苟蒻代码多次修改,略有粗糙,各位大神将就看看吧qwq
#include <iostream>//cin函数
#include <stdio.h>//printf函数
#include <string.h>//memset函数
#include <vector>//vector函数
using namespace std;//等同于使用时std::
int main(){
long long l,m,start,end,left;
long long L=l+1;
left=L;
vector<int>check;//每一个元素代表一棵树
cin>>l>>m;//同题意
L=l+1;//总棵树
left=L;//初始化剩余棵树为总棵数
//初始化
for(int i=1;i<=check.size();++i)check[i]=0;
for(int a=1;a<=m;++a){
cin>>start>>end;//访问列表的首位和末位
for(int b=start;b<=end;++b){//遍历首位至末尾
if(check[b]==0){//再次检查还未访问
check[b]=1;//check[b]为1,代表已访问
}
}
}
for(int c=1;c<=L;++c){
if(check[c]==1)//若该元素状态为已访问
left-=1;//剩余的棵树减去一
}
printf("%lld",left);//统计完毕,输出剩余棵树
return 0;
}
...
from sys import argv
l,m=argv
state[l]
for i in range(l):
state[i]=0
for v in range(m):
start,end=argv
for l in range(start,end):
state[l]=1
cnt=0
for x in state:
if state[x]==0:
cnt+=1
print(cnt)
打扰各位了,多有不敬,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx谢谢
by Yukinoshita_Yukino @ 2022-04-13 10:16:01
把vector换成数组试试
by FReQuenter @ 2022-04-13 10:29:58
都说了 vector
一开始是没有大小的。。。
把 vector<int>check
改成 vector<int>check(1005)
试试,相当于把 vector
变成了一个数组。
或者 for(int i=1;i<=check.size();++i)check[i]=0;
改成 for(int i=1;i<=check.size();++i)check.push_back(0);
。
但还是建议去百度上搜搜关于 vector
的内容。
by FReQuenter @ 2022-04-13 10:31:49
@KvX07 花20min学习一下,自己再打一打:
https://blog.csdn.net/LUSH_BOY/article/details/113486316?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164981705516782184647885%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164981705516782184647885&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-3-113486316.142^v7^pc_search_result_control_group,157^v4^control&utm_term=c+++vector&spm=1018.2226.3001.4187
by KvX07 @ 2022-04-13 11:15:54
还是。。。
by KvX07 @ 2022-04-13 11:16:30
by maple_trees_112 @ 2022-06-25 19:34:30
@KvX07
#include <iostream>
#include <cmath>
#include <iomanip>
#include <algorithm>
#include <cstdio>
using namespace std;
int l,m,x,y;
int a[10010],ans;
int main()
{
cin>>l>>m;
for(int i = 1;i <= m;i++)
{
cin>>x>>y;
for(int j = x;j <= y;j++)
{
a[j] = 1;
}
}
for(int i = 0;i <= l;i++)
{
if(a[i] == 0)
{
ans++;
}
}
cout<<ans;
return 0;
}
by maple_trees_112 @ 2022-06-25 19:38:13
@KvX07 不好意思啊 我只是个只会敲代码的小弱鸡啊 啥意思你自己体会一下