Submission #130454

# Submission time Handle Problem Language Result Execution time Memory
130454 2019-07-15T08:28:07 Z 김세빈(#3148) Information (CEOI08_information) C++14
70 / 100
392 ms 9496 KB
#include <bits/stdc++.h>

using namespace std;

vector <int> G[2020];
vector <int> A, B;
int P[2020], V[1010101];
bool chk1[2020], chk2[1010101];
int n, m, x;

void dfs1(int p, int r)
{
	chk1[p] = 1;
	
	if(r){
		A.push_back(r);
		chk2[r] = 1;
	}
	
	for(int &t: G[p]){
		if(!chk1[V[t]]){
			dfs1(V[t], t);
		}
	}
}

void dfs2(int p, int r)
{
	chk1[p] = 0;
	
	if(r){
		B.push_back(r);
	}
	
	for(int &t: G[p]){
		if(!chk2[t] && chk1[V[t]]){
			dfs2(V[t], t);
		}
	}
}

int main()
{
	int i, j, u;
	
	scanf("%d%d", &n, &m);
	
	for(i=1; i<=m; i++){
		scanf("%d%d", &u, V + i);
		G[u].emplace_back(i);
	}
	
	for(i=0; i<50; i++){
		A.clear(); B.clear();
		
		fill(chk1, chk1 + n + 1, 0);
		fill(chk2, chk2 + m + 1, 0);
		
		for(j=1; j<=n; j++){
			random_shuffle(G[i].begin(), G[i].end());
		}
		
		dfs1(1, 0); dfs2(1, 0);
		
		if(A.size() == n - 1 && B.size() == n - 1){
			for(int &t: A){
				printf("%d ", t);
			}
			
			printf("\n");
			
			for(int &t: B){
				printf("%d ", t);
			}
			
			printf("\n");
			
			return 0;
		}
	}
	
	printf("NONE\n");
	
	return 0;
}

Compilation message

information.cpp: In function 'int main()':
information.cpp:65:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(A.size() == n - 1 && B.size() == n - 1){
      ~~~~~~~~~^~~~~~~~
information.cpp:65:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(A.size() == n - 1 && B.size() == n - 1){
                           ~~~~~~~~~^~~~~~~~
information.cpp:46:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~
information.cpp:49:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &u, V + i);
   ~~~~~^~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 376 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 1528 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 72 ms 2360 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 39 ms 1400 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 4 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 196 ms 9312 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 190 ms 9108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 392 ms 9496 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 16 ms 504 KB Output isn't correct
2 Halted 0 ms 0 KB -