QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#377206 | #3661. Molecules | ChineseElNayem | WA | 2ms | 3784kb | C++23 | 1.1kb | 2024-04-05 01:35:08 | 2024-04-05 01:35:09 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e2 + 5;
int n,m;
struct point
{
int x,y;
bool isKnown = 1;
};
vector<int> adj[N];
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
vector<point> v(n);
for(int i = 0; i < n; i++)
{
int x,y;
cin >> x >> y;
if(x == -1 && y == -1)
v[i].x = 0, v[i].y = 0, v[i].isKnown = 0;
else
v[i].x = x, v[i].y = y;
}
for(int i = 0; i < m; i++)
{
int u,v;
cin >> u >> v;
u--, v--;
adj[u].push_back(v);
adj[v].push_back(u);
}
for(int iter = 0; iter < 1e5; iter++)
{
for(int i = 0; i < n; i++)
{
if(v[i].isKnown)
continue;
int smx = 0, smy = 0;
for(auto j : adj[i])
smx += v[j].x, smy += v[j].y;
v[i].x = smx / adj[i].size(), v[i].y = smy / adj[i].size();
}
}
for(int i = 0; i < n; i++)
cout << v[i].x << ' ' << v[i].y << '\n';
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3784kb
input:
3 2 0 0 -1 -1 2 0 1 2 2 3
output:
0 0 1 0 2 0
result:
ok good solution
Test #2:
score: -100
Wrong Answer
time: 2ms
memory: 3548kb
input:
5 4 0 0 -1 -1 -1 -1 -1 -1 4 0 1 2 2 3 3 4 4 5
output:
0 0 0 0 1 0 2 0 4 0
result:
wrong answer the position of 2-th point is (0.000000, 0.000000), but the average position is (0.500000, 0.000000)