답안 #1005432

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1005432 2024-06-22T12:40:41 Z Almonther Party (POI11_imp) C++
18 / 100
3000 ms 53328 KB
#include <bits/stdc++.h>

#define suiii ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define ll long long
#define co cout<<
//#pragma GCC optimize("O3,Ofast,unroll-loops")
//#pragma GCC target("avx2,sse3,sse4,avx")
using namespace std;
//stuff
int n,m;
vector<int>v[3005];
bitset<3005>curr,mat[3005],vis;
int cnt=0;
void rec(int x){
    if(cnt==n/3){
        for(int i=0;i<3005;i++){
            if(curr[i]==1) co i<<' ';
        }
        exit(0);
    }
    if(x==n) return;
    if(n-x+cnt<n/3) return ;
    if((curr&mat[x])==curr){
        curr[x]=1;
        cnt++;
        rec(x+1);
        cnt--;
        curr[x]=0;
    }
    rec(x+1);
    return;
}
void rec1(ll x,ll last){
    if(x==n/3){
        for(int i=0;i<3005;i++){
            if(curr[i]==1) co i<<' ';
        }
        exit(0);
    }
    ll num;
    bitset<3005>dont={};
    if(last==-1){
        num=rand()%n+1;
        while(dont[num]||vis[num]||(curr&mat[num])!=curr) dont[num]=1,num=rand()%n+1;
    }
    else{
        num=v[last][rand()%v[last].size()];
        while(dont[num]||vis[num]||(curr&mat[num])!=curr) dont[num]=1,num=v[last][rand()%v[last].size()];
    }
    vis[num]=1;
    curr[num]=1;
    rec1(x+1,num);
    curr[num]=0;
    vis[num]=0;
}
void solve(){
    cin>>n>>m;
    for(int i=0;i<m;i++){
        ll a,b;
        cin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
        mat[a][b]=1;
        mat[b][a]=1;
    }
    while(1) rec1(0,-1);
}
int main()
{
    suiii
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Execution timed out 3094 ms 604 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3072 ms 604 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 1368 KB Output is correct
2 Correct 36 ms 5456 KB Output is correct
3 Correct 38 ms 5452 KB Output is correct
4 Correct 38 ms 5360 KB Output is correct
5 Execution timed out 3014 ms 5456 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 1884 KB Output is correct
2 Correct 99 ms 12596 KB Output is correct
3 Correct 91 ms 12580 KB Output is correct
4 Correct 89 ms 12576 KB Output is correct
5 Correct 89 ms 12368 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 25 ms 4444 KB Output is correct
2 Correct 128 ms 17492 KB Output is correct
3 Correct 145 ms 17492 KB Output is correct
4 Execution timed out 3100 ms 16996 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 77 ms 12628 KB Output is correct
2 Correct 194 ms 19288 KB Output is correct
3 Execution timed out 3028 ms 19280 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 165 ms 16736 KB Output is correct
2 Correct 226 ms 22096 KB Output is correct
3 Correct 239 ms 22100 KB Output is correct
4 Execution timed out 3022 ms 21840 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 202 ms 19028 KB Output is correct
2 Correct 266 ms 34900 KB Output is correct
3 Correct 259 ms 34896 KB Output is correct
4 Correct 259 ms 34640 KB Output is correct
5 Correct 255 ms 35156 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 237 ms 20820 KB Output is correct
2 Execution timed out 3023 ms 37456 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 276 ms 37676 KB Output is correct
2 Execution timed out 3066 ms 41044 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 360 ms 43000 KB Output is correct
2 Correct 379 ms 43596 KB Output is correct
3 Execution timed out 3040 ms 53328 KB Time limit exceeded
4 Halted 0 ms 0 KB -