Submission details
Task:Fishers
Sender:aalto25k_005
Submission time:2025-11-12 17:49:50 +0200
Language:C++ (C++17)
Status:COMPILE ERROR

Compiler report

input/code.cpp:64:8: error: redefinition of 'struct point'
   64 | struct point {
      |        ^~~~~
input/code.cpp:7:8: note: previous definition of 'struct point'
    7 | struct point {
      |        ^~~~~
input/code.cpp:68:8: error: redefinition of 'struct seg'
   68 | struct seg{
      |        ^~~
input/code.cpp:11:8: note: previous definition of 'struct seg'
   11 | struct seg{
      |        ^~~
input/code.cpp:79:5: error: redefinition of 'int main()'
   79 | int main(){
      |     ^~~~
input/code.cpp:22:5: note: 'int main()' previously defined here
   22 | int main(){
      |     ^~~~

Code

#include <cmath>
#include <unordered_map>
#include <math.h>

#include <vector>
struct point {
  double x,y;
};

struct seg{
  int start;
  int end;
  point a;
  point b;
};




#include <iostream>
int main(){
  int n;
  std::cin >> n;
  std::unordered_map<int, seg> segments;
  std::vector<int> fishers;
  for (int i = 0; i<2*n; ++i){
    int fisher;
    std::cin >> fisher;
    if (fisher<0){
      segments[-fisher].end = i;
    }else {
      fishers.push_back(fisher);
      segments[fisher].start = i;
    }
  }

  for (int fisher : fishers){
    double angle1 = segments[fisher].start * M_PI/n;
    double y1 = std::sin(angle1); 
    double x1 = std::cos(angle1);
    double angle2 = segments[fisher].end * M_PI/n;
    double y2 = std::sin(angle2); 
    double x2 = std::cos(angle2); 

    segments[fisher].a = {x1, y1};
    segments[fisher].b = {x2, y2};
  }



  
  
  

  
}

#include <cmath>
#include <unordered_map>
#include <math.h>

#include <vector>
struct point {
  double x,y;
};

struct seg{
  int start;
  int end;
  point a;
  point b;
};




#include <iostream>
int main(){
  int n;
  std::cin >> n;
  std::unordered_map<int, seg> segments;
  std::vector<int> fishers;
  for (int i = 0; i<2*n; ++i){
    int fisher;
    std::cin >> fisher;
    if (fisher<0){
      segments[-fisher].end = i;
    }else {
      fishers.push_back(fisher);
      segments[fisher].start = i;
    }
  }

  for (int fisher : fishers){
    double angle1 = segments[fisher].start * M_PI/n;
    double y1 = std::sin(angle1); 
    double x1 = std::cos(angle1);
    double angle2 = segments[fisher].end * M_PI/n;
    double y2 = std::sin(angle2); 
    double x2 = std::cos(angle2); 

    segments[fisher].a = {x1, y1};
    segments[fisher].b = {x2, y2};
  }



  
  
  

  
}