mmm_Leo @ 2024-06-14 13:15:54
今天刷个题然后结果就wa了,用的哈希表,哪位神犇来解释一下:
#include<iostream>
#include<map>
using namespace std;
map<int,bool> h;
int main(){
int l,m;
cin>>l>>m;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
for(int j=u;j<=v;j++){
h[j]=1;
}
}
int cnt=0;
for(int i=1;i<=l;i++) if(!h[i]) cnt++;
cout<<cnt;
return 0;
}
by mmm_Leo @ 2024-06-14 13:16:48
最近发烧,脑子烧没了,想了
by liuli688 @ 2024-06-14 13:30:50
@BCLL_mmmLeo “
by mmm_Leo @ 2024-06-14 14:54:52
@liuli688 so?
by liuli688 @ 2024-06-14 16:07:17
@BCLL_mmmLeo 将 for(int i=1;i<=l;i++) if(!h[i]) cnt++;
改成 for(int i=0;i<=l;i++) if(!h[i]) cnt++;
。
by liuli688 @ 2024-06-14 16:08:17
@BCLL_mmmLeo 我的 std:
#include <bits/stdc++.h>
using namespace std;
#define reg register
bool h[10001];
int l,m,cnt = 0;
signed main()
{
ios::sync_with_stdio(0);
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> l >> m;
reg int u,v;
while(m--)
{
cin >> u >> v;
for(reg int j = u;j <= v;++j)
h[j] = true;
}
for(int i = 0;i <= l;++i)
cnt += h[i] ^ 1;
cout << cnt;
return 0;
}
by mmm_Leo @ 2024-06-14 16:11:32
@liuli688 谢谢