Submission #2949180


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

bitset <555> A[22][555], B[22][555], T;
bitset <555> D[555], E[555];
int n, m, ans;

int main()
{
	int i, j, k, f, a, b, t;
	
	scanf("%d%d", &n, &m);
	
	for(i=0; i<m; i++){
		scanf("%d%d", &a, &b);
		A[0][a][b] = 1;
		B[0][b][a] = 1;
	}
	
	for(i=1; i<=n; i++){
		D[i][i] = 1;
	}
	
	for(t=1; ; t++){
		for(i=1; i<=n; i++){
			for(j=1; j<=n; j++){
				T = A[t-1][i] & B[t-1][j];
				if(T != 0) A[t][i][j] = B[t][j][i] = 1;
			}
		}
		
		if((1 << t) >= n * n) break;
	}
	
	for(i=1; i<=n; i++){
		if(!A[t][1][i]){
			printf("-1\n");
			return 0;
		}
	}
	
	for(; t>=0; t--){
		for(i=1; i<=n; i++){
			T = D[1] & B[t][i];
			if(T == 0) break;
		}
		
		if(i <= n){
			for(i=1; i<=n; i++){
				for(j=1; j<=n; j++){
					T = D[i] & B[t][j];
					if(T != 0) E[i][j] = 1;
				}
			}
			
			for(i=1; i<=n; i++){
				D[i] = E[i];
				E[i] = 0;
			}
			
			ans += (1 << t);
		}
	}
	
	printf("%d\n", ans + 1);
	
	return 0;
}

Submission Info

Submission Time
Task I - Revenge of the Endless BFS
User SebinKim
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1025 Byte
Status AC
Exec Time 139 ms
Memory 1792 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:13:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m);
                       ^
./Main.cpp:16:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &a, &b);
                        ^

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 42
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 10_small_0, 10_small_1, 10_small_2, 10_small_3, 10_small_4, 20_random_0, 20_random_1, 20_random_2, 20_random_3, 20_random_4, 20_random_5, 20_random_6, 20_random_7, 20_random_8, 20_random_9, 90_cycle_like_0, 90_cycle_like_1, 90_cycle_like_2, 90_cycle_like_3, 90_cycle_like_4, 91_cycle_like_dense_0, 91_cycle_like_dense_1, 91_cycle_like_dense_2, 91_cycle_like_dense_3, 91_cycle_like_dense_4, 91_cycle_like_dense_5, 91_cycle_like_dense_6, 91_cycle_like_dense_7, 91_cycle_like_dense_8, 91_cycle_like_dense_9, 99_ng_max_dense_0, 99_ng_max_odd_prime_0, 99_ng_max_odd_prime_dense_0, 99_ng_max_odd_prime_dense_1, 99_ng_max_odd_prime_dense_2, 99_ng_max_odd_prime_dense_3, 99_ng_max_odd_prime_dense_4, 99_ng_max_prime_0, 99_ok_max_0
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 256 KB
00_sample_01 AC 1 ms 256 KB
00_sample_02 AC 1 ms 256 KB
10_small_0 AC 1 ms 256 KB
10_small_1 AC 1 ms 256 KB
10_small_2 AC 1 ms 384 KB
10_small_3 AC 1 ms 384 KB
10_small_4 AC 1 ms 256 KB
20_random_0 AC 2 ms 512 KB
20_random_1 AC 13 ms 896 KB
20_random_2 AC 47 ms 1536 KB
20_random_3 AC 4 ms 640 KB
20_random_4 AC 13 ms 896 KB
20_random_5 AC 62 ms 1536 KB
20_random_6 AC 90 ms 1792 KB
20_random_7 AC 23 ms 1152 KB
20_random_8 AC 60 ms 1664 KB
20_random_9 AC 2 ms 512 KB
90_cycle_like_0 AC 126 ms 1792 KB
90_cycle_like_1 AC 121 ms 1792 KB
90_cycle_like_2 AC 111 ms 1792 KB
90_cycle_like_3 AC 139 ms 1792 KB
90_cycle_like_4 AC 130 ms 1792 KB
91_cycle_like_dense_0 AC 114 ms 1792 KB
91_cycle_like_dense_1 AC 116 ms 1792 KB
91_cycle_like_dense_2 AC 111 ms 1792 KB
91_cycle_like_dense_3 AC 120 ms 1792 KB
91_cycle_like_dense_4 AC 113 ms 1792 KB
91_cycle_like_dense_5 AC 114 ms 1792 KB
91_cycle_like_dense_6 AC 130 ms 1792 KB
91_cycle_like_dense_7 AC 120 ms 1792 KB
91_cycle_like_dense_8 AC 117 ms 1792 KB
91_cycle_like_dense_9 AC 125 ms 1792 KB
99_ng_max_dense_0 AC 91 ms 1792 KB
99_ng_max_odd_prime_0 AC 62 ms 1664 KB
99_ng_max_odd_prime_dense_0 AC 93 ms 1792 KB
99_ng_max_odd_prime_dense_1 AC 92 ms 1792 KB
99_ng_max_odd_prime_dense_2 AC 93 ms 1792 KB
99_ng_max_odd_prime_dense_3 AC 95 ms 1792 KB
99_ng_max_odd_prime_dense_4 AC 90 ms 1792 KB
99_ng_max_prime_0 AC 63 ms 1664 KB
99_ok_max_0 AC 125 ms 1792 KB