CSES - Datatähti Open 2021 - Results
Submission details
Task:Distances
Sender:rishb369
Submission time:2021-01-30 19:30:51 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#20.01 s2details

Compiler report

input/code.cpp: In function 'void usaco(std::__cxx11::string)':
input/code.cpp:12:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   freopen((s+".in").c_str(), "r", stdin);
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
input/code.cpp:13:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   freopen((s+".out").c_str(), "w", stdout);
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<ll, ll> pii;
typedef vector<ll> vi;
typedef vector<pii> vpi;

void usaco(string s){
  freopen((s+".in").c_str(), "r", stdin);
  freopen((s+".out").c_str(), "w", stdout);
}

vector<int> adj[110], vis(110, 0);

void dfs(int u, int dis){
  if(vis[u]) return;
  vis[u] = 1;
  bool wow = 0;
  if(dis%3==0){
    dis = 0;
    wow = 1;
    cout << u << ' ';
  }
  bool fvis=0;
  for(auto i: adj[u]){
    dfs(i, dis+1);
    if(!fvis){
      fvis = 1;
      dis++;
    }
  }
  if(!fvis){
    cout << u << ' ';
    fvis=1;
  }
  if(!wow and !fvis) cout << u << ' ';
}

int main() {
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);
#ifdef LOCAL_DEFINE
	freopen("input.txt", "r", stdin);
#endif
  int t;
  cin >> t;
  while(t--){
    int n;
    cin >> n;
    
    for(int i = 0; i < n-1; i++){
      int a, b;
      cin >> a >> b;
      adj[a].push_back(b);
      adj[b].push_back(a);
    }

    dfs(1, 0);
    cout << '\n';
  }
}

Test details

Test 1

Group: 1, 2

Verdict:

input
100
8
5 2
2 3
3 7
...

correct output
1 8 2 5 6 7 3 4 
1 7 2 8 3 6 4 5 
1 4 6 2 7 5 8 3 
1 8 3 2 4 7 6 5 
1 6 4 7 5 2 3 8 
...

user output
1 3 6 




...
Truncated

Test 2

Group: 2

Verdict:

input
100
100
37 59
81 37
44 81
...

correct output
1 99 82 81 59 5 71 55 17 24 13...

user output
1 60 81 5 71 24 13 32 58 91 87...
Truncated