Submission #130428

# Submission time Handle Problem Language Result Execution time Memory
130428 2019-07-15T07:52:40 Z 김세빈(#3148) Information (CEOI08_information) C++14
87 / 100
359 ms 9408 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<5; i++){
		A.clear(); B.clear();
		
		for(j=1; j<=n; j++){
			random_shuffle(G[j].begin(), G[j].end());
		}
		
		fill(chk1, chk1 + n + 1, 0);
		fill(chk2, chk2 + m + 1, 0);
		
		dfs1(1, 0); dfs2(1, 0);
		
		if(A.size() != n - 1 || B.size() != n - 1) continue;
		else{
			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) continue;
      ~~~~~~~~~^~~~~~~~
information.cpp:65:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(A.size() != n - 1 || B.size() != n - 1) continue;
                           ~~~~~~~~~^~~~~~~~
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 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 404 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 376 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 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 Correct 3 ms 504 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 22 ms 1400 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 53 ms 2260 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 35 ms 1400 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 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 5 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 220 ms 9380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 216 ms 9052 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 359 ms 9408 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 508 KB Output is correct
2 Correct 3 ms 376 KB Output is correct