QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#248563 | #7743. Grand Finale | comeintocalm | WA | 1ms | 3576kb | C++14 | 3.5kb | 2023-11-11 19:59:11 | 2023-11-11 19:59:12 |
Judging History
answer
/**
* ┏┓ ┏┓
* ┏┛┗━━━━━━━┛┗━━━┓
* ┃ ┃
* ┃ ━ ┃
* ┃ > < ┃
* ┃ ┃
* ┃... ⌒ ... ┃
* ┃ ┃
* ┗━┓ ┏━┛
* ┃ ┃ Code is far away from bug with the animal protecting
* ┃ ┃ 神兽保佑,代码无bug
* ┃ ┃
* ┃ ┃
* ┃ ┃
* ┃ ┃
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━━━━━━━━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
*/
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<stack>
#include<cmath>
#include<set>
#include<bitset>
#include<complex>
#include<assert.h>
#include<list>
#include<atomic>
#include <vector>
#include<memory>
#define inc(i,l,r) for(int i=l;i<=r;i++)
#define dec(i,l,r) for(int i=l;i>=r;i--)
#define link(x) for(edge *j=h[x];j;j=j->next)
#define mem(a) memset(a,0,sizeof(a))
#define ll long long
#define eps 1e-8
#define succ(x) (1<<x)
#define mid (x+y>>1)
#define lowbit(x) (x&(-x))
#define sqr(x) (1ll*(x)*(x))
#define NM 305
#define nm 14005
using namespace std;
const double pi=acos(-1);
const int inf=1e9+7;
ll read(){
ll x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
return f*x;
}
struct edge{int t;edge*next;}e[nm],*h[NM],*o=e;
void add(int x,int y){o->t=y;o->next=h[x];h[x]=o++;}
int n,m;
struct plane{
vector<int>a;
};
struct freg{
vector<int>a;
};
queue<freg>q;
vector<plane>a;
vector<vector<int>>b;
stack<int>sta;
bool v[NM];
bool dfs(int x,int f){
v[x]=true;
sta.push(x);
link(x)if(j->t!=f){
if(!v[j->t]){
if(dfs(j->t,x))return true;
}else{
plane p;
while(sta.top()!=j->t){
p.a.push_back(sta.top());
sta.pop();
}
p.a.push_back(j->t);
a.push_back(p);
return true;
}
}
return false;
}
int main(){
n=read();m=read();
b.resize(n);
if(m>3*n-6)return 0*printf("NO\n");
while(m--){
int _x=read(),_y=read();
add(_x,_y);add(_y,_x);
}
freg init;
for(int i=1;i<=n;i++)init.a.push_back(i);
q.push(std::move(init));
bool _f=false;
while(!q.empty()){
freg&now=q.front();
if(!_f){
if(!dfs(1,0))return 0*printf("YES\n");
a.push_back(a[0]);
mem(v);
for(int i:a[0].a)b[i].push_back(0),b[i].push_back(1);
}else{
}
q.pop();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3576kb
input:
2 2 6 BG BQWBWW 4 6 GQBW WWWWQB
output:
NO
result:
wrong answer 1st lines differ - expected: '3', found: 'NO'