QOJ.ac
QOJ
The 2nd Universal Cup Finals is coming! Check out our event page, schedule, and competition rules!
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#361424 | #8509. Expanding STACKS! | ucup-team206# | AC ✓ | 0ms | 0kb | C++17 | 1.0kb | 2024-03-23 10:08:13 | 2024-03-23 10:08:13 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+1e2+7;
int n,c[N];
vector<int> g[N];
int l[N],r[N];
void dfs(int x)
{
for(auto v:g[x])
{
if(c[v]==-1)
c[v]=c[x]^1,dfs(v);
else if(c[v]!=(c[x]^1))
{
cout<<"*\n";
exit(0);
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for(int i=1;i<=n*2;i++)
{
int x;
cin>>x;
if(x>0)
l[x]=i;
else
r[-x]=i;
}
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
int u=i,v=j;
if(l[u]>l[v])
swap(u,v);
if(l[v]<=r[u]&&r[v]>=r[u])
g[u].push_back(v),g[v].push_back(u);
}
memset(c,-1,sizeof(c));
for(int i=1;i<=n;i++)
if(c[i]==-1)
{
c[i]=0;
dfs(i);
}
for(int i=1;i<=n;i++)
cout<<"GS"[c[i]];
cout<<"\n";
}
详细
Test #1:
score: 0
Checker Judgement Failed
input:
2 +2 +1 -1 -2
output:
GG