#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define inf 1e18
const int mod=998244353;
const int N=2e5+5;
int n,m,c[N],ans;
struct node{
int l,r;
}a[N];
void dfs(int u){
if(u>m){
int t=0,flag=1;
for(int i=1;i<=n;i++){
t+=c[i];
if(t<2){
flag=0;
break;
}
}
if(flag) ans=(ans+1)%mod;
return;
}
c[a[u].l]++;
c[a[u].r+1]--;
dfs(u+1);
c[a[u].l]--;
c[a[u].r+1]++;
dfs(u+1);
}
void solve(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i].l>>a[i].r;
}
dfs(1);
cout<<ans;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int tt=1;
// cin>>tt;
while(tt--) solve();
return 0;
}
小A的线段(easy version)(枚举)--牛客小白月赛90-D
于 2024-04-09 09:17:28 首次发布