QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#377206#3661. MoleculesChineseElNayemWA 2ms3784kbC++231.1kb2024-04-05 01:35:082024-04-05 01:35:09

Judging History

This is the latest submission verdict.

  • [2024-04-05 01:35:09]
  • Judged
  • Verdict: WA
  • Time: 2ms
  • Memory: 3784kb
  • [2024-04-05 01:35:08]
  • Submitted

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)