• 程序自动分析


     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring> 
     5 using namespace std;
     6 typedef long long ll;
     7 const int maxn=1e6+7;
     8 ll x[maxn],y[maxn],tmp[maxn],opt[maxn],fa[maxn];
     9 int tr[maxn],fs[maxn];
    10 int t,n,num1,num2,num;
    11 int find(int x){
    12     if(x==fa[x]) return x;
    13     else return fa[x]=find(fa[x]);
    14 }
    15 void merge(int x,int y){
    16     int fx=find(x),fy=find(y);
    17     fa[fx]=fy;
    18     return;
    19 }
    20 int main(){
    21     cin>>t;
    22     while(t--){
    23         bool flag=true;num1=0;num2=0;
    24         memset(x,0,sizeof(x));
    25         memset(fa,0,sizeof(fa)); 
    26         memset(tmp,0,sizeof(tmp));
    27         memset(tr,0,sizeof(tr));
    28         memset(fs,0,sizeof(fs));
    29         cin>>n;
    30         for(int i=1;i<=n;i++){
    31             cin>>x[i]>>y[i]>>opt[i];
    32             tmp[++num]=x[i];tmp[++num]=y[i];
    33             if(opt[i]==1) tr[++num1]=i;
    34             if(opt[i]==0) fs[++num2]=i;
    35         } 
    36         sort(tmp+1,tmp+num+1);
    37         num=unique(tmp+1,tmp+num+1)-(tmp+1);
    38         for(int i=1;i<=n;i++){
    39             x[i]=lower_bound(tmp+1,tmp+num+1,x[i])-tmp;
    40             y[i]=lower_bound(tmp+1,tmp+num+1,y[i])-tmp;
    41         } 
    42         for(int i=1;i<=10*n;i++) fa[i]=i;
    43         for(int i=1;i<=num1;i++){
    44             int u=tr[i];
    45             int fx=find(x[u]);int fy=find(y[u]);
    46             if(fx!=fy) merge(fx,fy); 
    47         } 
    48         for(int i=1;i<=num2;i++){
    49             int u=fs[i];
    50             int fx=find(x[u]);int fy=find(y[u]);
    51             if(fx==fy) {flag=false;}
    52         }
    53         if(flag==false) cout<<"NO"<<endl;
    54         else cout<<"YES"<<endl;
    55     }
    56     return 0;
    57 } 

    学会离散化......

    unique......

  • 相关阅读:
    POJ 1556 The Doors (未完)
    setblendstate & setdepthstencilstate
    transparent 的新问题
    texCUBE() to CubemapSampler.Sample()
    error: The shader requires a sampler in slot 0 which hasn't been set [XXXsampler]
    error X3025:global variables are implicitly constant, enable compatibility mode to allow modification
    MSAA
    check environment var
    setDepthStencilState
    sampler state
  • 原文地址:https://www.cnblogs.com/lcan/p/9536265.html
Copyright © 2020-2023  润新知