File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import java .util .Scanner ;
2+ import java .util .ArrayList ;
3+
4+ class MergeSort {
5+ public static ArrayList <Integer > mergeSort (ArrayList <Integer > a ) {
6+ int n = a .size ();
7+ if (n <= 1 )
8+ return a ;
9+ ArrayList <Integer > l = new ArrayList <Integer >();
10+ ArrayList <Integer > r = new ArrayList <Integer >();
11+ for (int i = 0 ; i < n / 2 ; i ++)
12+ l .add (a .get (i ));
13+ for (int i = n / 2 ; i < n ; i ++)
14+ r .add (a .get (i ));
15+ ArrayList <Integer > ls = mergeSort (l );
16+ ArrayList <Integer > rs = mergeSort (r );
17+ ArrayList <Integer > ans = new ArrayList <Integer >();
18+ int i = 0 , j = 0 ;
19+ while (ans .size () < n ) {
20+ if (i < ls .size () && j < rs .size ()) {
21+ if (ls .get (i ) < rs .get (j )) {
22+ ans .add (ls .get (i ));
23+ i ++;
24+ }
25+ else {
26+ ans .add (rs .get (j ));
27+ j ++;
28+ }
29+ }
30+ else if (i < ls .size ()) {
31+ ans .add (ls .get (i ));
32+ i ++;
33+ }
34+ else if (j < rs .size ()) {
35+ ans .add (rs .get (j ));
36+ j ++;
37+ }
38+ }
39+ return ans ;
40+ }
41+ public static void main (String [] args ) {
42+ Scanner stdin = new Scanner (System .in );
43+ int n = stdin .nextInt ();
44+ ArrayList <Integer > input = new ArrayList <Integer >();
45+ for (int i = 0 ; i < n ; i ++) {
46+ int t = stdin .nextInt ();
47+ input .add (t );
48+ }
49+ ArrayList <Integer > sorted = mergeSort (input );
50+ for (Integer i : sorted )
51+ System .out .print (i + " " );
52+ System .out .println ();
53+ }
54+ }
Original file line number Diff line number Diff line change 1+ import java .util .Scanner ;
2+ import java .util .ArrayList ;
3+
4+ class Subsets {
5+ public static ArrayList <ArrayList <Integer >> getSubsets (ArrayList <Integer > S ) {
6+ if (S .size () == 0 ) {
7+ ArrayList <ArrayList <Integer >> ans = new ArrayList <ArrayList <Integer >>();
8+ ans .add (new ArrayList <Integer >());
9+ return ans ;
10+ }
11+ int x = S .get (0 );
12+ ArrayList <Integer > T = new ArrayList <Integer >();
13+ for (int i = 1 ; i < S .size (); i ++)
14+ T .add (S .get (i ));
15+ ArrayList <ArrayList <Integer >> A = getSubsets (T );
16+ ArrayList <ArrayList <Integer >> B = new ArrayList <ArrayList <Integer >>();
17+ for (int i = 0 ; i < A .size (); i ++) {
18+ ArrayList <Integer > Y = A .get (i );
19+ ArrayList <Integer > Z = new ArrayList <Integer >(Y );
20+ B .add (Z );
21+ Y .add (x );
22+ B .add (Y );
23+ }
24+ return B ;
25+ }
26+ public static void main (String [] args ) {
27+ Scanner stdin = new Scanner (System .in );
28+ int n = stdin .nextInt ();
29+ ArrayList <Integer > S = new ArrayList <Integer >();
30+ for (int i = 0 ; i < n ; i ++) {
31+ int t = stdin .nextInt ();
32+ S .add (t );
33+ }
34+ ArrayList <ArrayList <Integer >> subsets = getSubsets (S );
35+ for (ArrayList <Integer > X : subsets ) {
36+ System .out .print ("{" );
37+ for (Integer i : X )
38+ System .out .print (i + ", " );
39+ System .out .println ("}" );
40+ }
41+ }
42+ }
Original file line number Diff line number Diff line change 1+ import java .util .Scanner ;
2+
3+ class Tiling {
4+ public static int f (int n ) {
5+ if (n == 1 )
6+ return 2 ;
7+ if (n == 2 )
8+ return 7 ;
9+ return f (n - 1 ) + g (n - 1 ) + f (n - 2 ) + g (n - 2 );
10+ }
11+
12+ public static int g (int n ) {
13+ if (n == 0 )
14+ return 1 ;
15+ if (n == 1 )
16+ return 3 ;
17+ return f (n ) + g (n - 1 );
18+ }
19+
20+ public static void main (String [] args ) {
21+ Scanner stdin = new Scanner (System .in );
22+ int n = stdin .nextInt ();
23+ System .out .println (f (n ));
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ https://quera.org/problemset/305
2+ https://quera.org/problemset/12912
3+ https://quera.org/problemset/643
4+ https://quera.org/problemset/608
5+ https://quera.org/problemset/605
6+ https://quera.org/problemset/9722
7+ https://quera.org/problemset/604
You can’t perform that action at this time.
0 commit comments