QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#837673 | #3075. Factory | wtc | AC ✓ | 8ms | 3896kb | C++14 | 1011b | 2024-12-30 11:28:10 | 2024-12-30 11:28:11 |
Judging History
answer
#include<bits/stdc++.h>
#define fo(i,l,r) for(int i=(l);i<=(r);++i)
#define fd(i,l,r) for(int i=(l);i>=(r);--i)
#define fu(i,l,r) for(int i=(l);i<(r);++i)
#define ll long long
using namespace std;
const int N=1007;
int n,f[N],s[N];
struct node{
int x,y,r;
}p[N];
int find(int x)
{
if(x==f[x]) return x;
int u=find(f[x]);s[x]^=s[f[x]];
return f[x]=u;
}
void work()
{
scanf("%d",&n);
fo(i,1,n) scanf("%d%d%d",&p[i].x,&p[i].y,&p[i].r);
fo(i,1,n) f[i]=i,s[i]=0;
fo(i,1,n) fo(j,i+1,n) if((p[i].x-p[j].x)*(p[i].x-p[j].x)+(p[i].y-p[j].y)*(p[i].y-p[j].y)==(p[i].r+p[j].r)*(p[i].r+p[j].r))
{
int u=find(i),v=find(j);
if(u<v) swap(u,v);
f[u]=v;s[u]=s[i]^s[j]^1;
}
fo(i,1,n)
{
if(find(i)!=1) printf("not moving\n");
else
{
int u=p[1].r,v=p[i].r,g=__gcd(u,v);u/=g;v/=g;
if(v==1) printf("%d",u);
else printf("%d/%d",u,v);
printf(" %s\n",s[i]==0?"clockwise":"counterclockwise");
}
}
}
int main()
{
int T;scanf("%d",&T);
while(T--) work();
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3880kb
input:
1 5 0 0 6 6 8 4 -9 0 3 6 16 4 0 -11 4
output:
1 clockwise 3/2 counterclockwise 2 counterclockwise 3/2 clockwise not moving
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 8ms
memory: 3896kb
input:
61 5 0 0 1 0 -3 2 0 -8 3 0 -16 5 0 -28 7 10 15 92 12 -17 68 28 20 80 1 96 -45 28 0 0 11 -90 -15 26 60 32 57 -18 -80 71 -74 15 8 10 80 1 16 76 -74 6 -64 -9 9 12 -5 3 -48 3 11 16 -2 2 16 -63 55 -80 66 16 -90 90 10 -56 21 3 -40 -12 6 -20 48 42 0 0 10 86 -39 19 -34 -4 4 -100 18 36 55 17 34 15 84 -94 18 ...
output:
1 clockwise 1/2 counterclockwise 1/3 clockwise 1/5 counterclockwise 1/7 clockwise 1 clockwise 3/7 counterclockwise 12 counterclockwise 3/7 counterclockwise 12/11 counterclockwise 6/13 counterclockwise 4/19 clockwise 12/71 clockwise 3/2 clockwise 12 counterclockwise 1 clockwise 2/3 counterclockwise 2...
result:
ok 12164 lines