Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
39227 氩_wjy 【BJ】T2 C++ 通过 100 916 MS 201920 KB 1981 2025-12-27 15:30:59

Tests(12/12):


#include<bits/stdc++.h> #define int long long #define doub long double #define PII pair<int,int> #define fir first #define sec second #define lb(x) ((x)&(-(x))) #define ctz __builtin_ctzll #define clz __builtin_clzll #define PC __builtin_popcountll #define endl '\n' using namespace std; #define PIB pair<int,bool> struct Node{ int id,rk,Exp; Node(int _id=0,int _rk=0,int _Exp=0){id=_id,rk=_rk,Exp=_Exp;} }; const int N=1e6+7; int n,m; PIB c[N][3]; int Mr[N]; vector<Node> v[N]; int Ans[N]; inline void read(int &x){ x=0;int f=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} if(f==-1)x=-x; } signed main(){ #ifndef ONLINE_JUDGE freopen("1.in","r",stdin); freopen("1.out","w",stdout); #endif cin>>n>>m; for(int i=1;i<=m;i++){ int x1,x2,x3,v1,v2,v3; read(x1),read(x2),read(x3),read(v1),read(v2),read(v3); c[i][0]=PIB(x1,v1);c[i][1]=PIB(x2,v2);c[i][2]=PIB(x3,v3); if(c[i][0]>c[i][1])swap(c[i][0],c[i][1]); if(c[i][1]>c[i][2])swap(c[i][1],c[i][2]); if(c[i][0]>c[i][1])swap(c[i][0],c[i][1]); v[c[i][0].fir].push_back(Node(i,1,c[i][0].sec)); v[c[i][1].fir].push_back(Node(i,2,c[i][1].sec)); v[c[i][2].fir].push_back(Node(i,3,c[i][2].sec)); } for(int i=1;i<=m;i++)Mr[i]=1; for(int i=1;i<=n;i++){ int Dt[2]={0,0}; for(auto p:v[i]){ int id=p.id,rk=p.rk,Exp=p.Exp; if(Mr[id]==0||Mr[id]==8)continue; Dt[Exp]=8-Mr[id],Dt[!Exp]=(rk==3?0:(1<<rk))-Mr[id]; } int r=(Dt[0]>=Dt[1]?0:1); Ans[i]=r; for(auto p:v[i]){ int id=p.id,rk=p.rk,Exp=p.Exp; if(Mr[id]==0||Mr[id]==8)continue; Dt[Exp]=(i==Exp?8:(rk==3?0:(1<<rk))); } } for(int i=1;i<=n;i++)cout<<Ans[i]<<" "; cout<<endl; }


测评信息: