답안 #130457

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
130457 2019-07-15T08:32:12 Z sebinkim Information (CEOI08_information) C++14
87 / 100
865 ms 9540 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<20; 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[j].begin(), G[j].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);
   ~~~~~^~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 504 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 1480 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 55 ms 2360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 80 ms 1500 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 380 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 223 ms 9300 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 211 ms 9084 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 865 ms 9540 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 504 KB Output is correct
2 Correct 5 ms 504 KB Output is correct