QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#340564#997. 2-SAT 问题KnownError_#RE 0ms0kbC++141.6kb2024-02-29 10:12:152024-02-29 10:12:16

Judging History

你现在查看的是最新测评结果

  • [2024-02-29 10:12:16]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:0kb
  • [2024-02-29 10:12:15]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using ui = unsigned;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
#define rep(i,l,r) for(int i=(l);i<=(r);++i)
#define per(i,l,r) for(int i=(l);i>=(r);--i)
#define repn(i,n)  for(int i=0;i<(n);++i)
#define sizc(x) ((int)x.size())
#define allc(x) x.begin(),x.end()
#define fir first
#define sec second
namespace KnownError_{
    constexpr int N = 1e5+5;
    int n,m,s,t;
    vector<int> G[N],Gi[N];
    void add(int u,int v){
        G[u].push_back(v);
        Gi[v].push_back(u);
    }
    bool vis[N<<1];
    int a[N<<1],cnt,idx,bel[N<<1];
    void dfs1(int u){
        vis[u]=1;
        for(auto v:G[u])if(!vis[v])dfs1(v);
        a[++cnt]=u;
    }
    void dfs2(int u){
        bel[u]=idx;
        vis[u]=1;
        for(auto v:Gi[u])if(!vis[v])dfs2(v);
    }
    void main(){
        cin>>n>>m;
        repn(_,m){
            int a,b,c,d;
            cin>>a>>b>>c>>d;
            add(a+(!b)*n,c+d*n);
            add(c+(!d)*n,a+b*n);
        }
        rep(i,1,n<<1)if(!vis[i])dfs1(i);
        fill(vis+1,vis+(n<<1)+1,0);
        per(i,n<<1,1)if(!vis[a[i]])++idx,dfs2(a[i]);
        rep(i,1,n)if(bel[i]==bel[i+n]){
            cout<<"No\n";
            return;
        }
        cout<<"Yes\n";
        rep(i,1,n)
            if(bel[i]>bel[i+n])cout<<"0 ";
            else cout<<"1 ";
        cout<<'\n';
    }
}
signed main(){
    #ifndef ONLINE_JUDGE
    freopen("sample.in","r",stdin);
    freopen("sample.out","w",stdout);
    #endif
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    KnownError_::main();
}

详细

Test #1:

score: 0
Runtime Error

input:

86354 86418
14615 0 14903 1
13605 0 4458 0
15604 0 77112 0
52311 1 64996 0
22711 1 74245 1
39042 1 57372 1
2994 1 84183 1
80574 0 58791 1
27780 1 9336 1
61809 0 7216 0
71113 0 42287 1
20073 0 72448 0
73840 0 77048 0
28955 0 4165 0
16322 1 14075 1
43512 0 58600 1
45219 0 53858 0
14919 0 22576 0
16594...

output:


result: