File tree Expand file tree Collapse file tree 3 files changed +166
-0
lines changed
Expand file tree Collapse file tree 3 files changed +166
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .io .*;
2+ import java .util .*;
3+
4+ public class Main {
5+ static BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
6+ static BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System .out ));
7+ static StringTokenizer st ;
8+ static boolean [] visited ;
9+ static ArrayList <Integer >[] graph ;
10+
11+ public static void main (String [] args ) throws IOException {
12+ st = new StringTokenizer (br .readLine ());
13+ int n = Integer .parseInt (st .nextToken ());
14+ int m = Integer .parseInt (st .nextToken ());
15+
16+ graph = new ArrayList [n +1 ];
17+ visited = new boolean [n +1 ];
18+ for (int i = 1 ; i <= n ; i ++) {
19+ graph [i ] = new ArrayList <>();
20+ }
21+
22+ for (int i = 1 ; i <= m ; i ++) {
23+ st = new StringTokenizer (br .readLine ());
24+ int u = Integer .parseInt (st .nextToken ());
25+ int v = Integer .parseInt (st .nextToken ());
26+
27+ graph [u ].add (v );
28+ graph [v ].add (u );
29+ }
30+
31+ int count = 0 ;
32+ for (int i = 1 ; i <= n ; i ++) {
33+ if (!visited [i ]) {
34+ count ++;
35+ dfs (i );
36+ }
37+ }
38+ bw .write (String .valueOf (count ));
39+ bw .close ();
40+ }
41+
42+ public static void dfs (int node ) {
43+ visited [node ] = true ;
44+
45+ for (int neighbor : graph [node ]) {
46+ if (!visited [neighbor ]) {
47+ dfs (neighbor );
48+ }
49+ }
50+ }
51+ }
Original file line number Diff line number Diff line change 1+ import java .io .*;
2+ import java .util .*;
3+
4+ public class Main {
5+ static BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
6+ static BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System .out ));
7+ static StringTokenizer st ;
8+ static boolean [] visited ;
9+ static ArrayList <Integer >[] graph ;
10+ static boolean is_true = false ;
11+
12+ public static void main (String [] args ) throws IOException {
13+ st = new StringTokenizer (br .readLine ());
14+ int n = Integer .parseInt (st .nextToken ());
15+ int m = Integer .parseInt (st .nextToken ());
16+
17+ graph = new ArrayList [n ];
18+ visited = new boolean [n ];
19+ for (int i = 0 ; i < n ; i ++) {
20+ graph [i ] = new ArrayList <>();
21+ }
22+
23+ for (int i = 0 ; i < m ; i ++) {
24+ st = new StringTokenizer (br .readLine ());
25+ int u = Integer .parseInt (st .nextToken ());
26+ int v = Integer .parseInt (st .nextToken ());
27+
28+ graph [u ].add (v );
29+ graph [v ].add (u );
30+ }
31+
32+ int count = 0 ;
33+ for (int i = 0 ; i < n ; i ++) {
34+ dfs (i , count );
35+ count = 0 ;
36+ }
37+
38+ if (is_true ) {
39+ bw .write ("1" );
40+ bw .close ();
41+ } else {
42+ bw .write ("0" );
43+ bw .close ();
44+ }
45+
46+ }
47+
48+ public static void dfs (int node , int count ) {
49+ visited [node ] = true ;
50+ if (count == 4 ) {
51+ is_true = true ;
52+ return ;
53+ }
54+
55+ for (int neighbor : graph [node ]) {
56+ if (!visited [neighbor ]) {
57+ dfs (neighbor , count + 1 );
58+ }
59+ }
60+ visited [node ] = false ;
61+ }
62+ }
Original file line number Diff line number Diff line change 1+ import java .io .*;
2+ import java .util .*;
3+
4+ public class Main {
5+ static BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
6+ static BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System .out ));
7+ static StringTokenizer st ;
8+ static int n ;
9+ static ArrayList <Integer > result_list ;
10+
11+ public static void main (String [] args ) throws IOException {
12+ st = new StringTokenizer (br .readLine ());
13+ n = Integer .parseInt (st .nextToken ());
14+
15+ int count = 1 ;
16+ result_list = new ArrayList <>();
17+ dfs (2 , 1 );
18+ dfs (3 , 1 );
19+ dfs (5 , 1 );
20+ dfs (7 , 1 );
21+
22+ while (!result_list .isEmpty ()) {
23+ bw .write (String .valueOf (result_list .remove (0 )) + "\n " );
24+ }
25+ bw .close ();
26+ }
27+
28+ public static void dfs (int num , int count ) {
29+ if (!is_prime (num )) {
30+ return ;
31+ }
32+
33+ if (count == n ) {
34+ result_list .add (num );
35+ return ;
36+ }
37+
38+ for (int i = 0 ; i < 10 ; i ++) {
39+ int nextNum = 10 * num + i ;
40+ dfs (nextNum , count + 1 );
41+ }
42+ count = 1 ;
43+ }
44+
45+ public static boolean is_prime (int num ) {
46+ for (int i = 2 ; i * i <= num ; i ++) {
47+ if (num % i == 0 ) {
48+ return false ;
49+ }
50+ }
51+ return true ;
52+ }
53+ }
You can’t perform that action at this time.
0 commit comments