Problem Statement
Definition
- Class:
- Passwords
- Method:
- countValid
- Parameters:
- int, int, int, int
- Returns:
- int
- Method signature:
- int countValid(int N, int L, int U, int D)
- (be sure your method is public)
Constraints
- N will be between 1 and 200,000, inclusive.
- L will be between 0 and N, inclusive.
- U will be between 0 and N, inclusive.
- D will be between 0 and N, inclusive.
Examples
2
0
0
2
Returns: 100
The only valid passwords are those consisting of digits only. There are 100 2-digit sequences.
3
1
1
1
Returns: 40560
A valid password will contain exactly one lowercase and one uppercase letter and one digit. Since they can come in any order, there are 3!*26*26*10 = 40560 possible combinations.
4
1
1
1
Returns: 5029440
This time, the exact number of characters of each type is undefined.
10
1
3
3
Returns: 818019214
5
2
2
2
Returns: 0
1
0
0
0
Returns: 62
1
0
0
1
Returns: 10
1
1
0
0
Returns: 26
1
0
1
0
Returns: 26
1
1
1
0
Returns: 0
2
1
1
0
Returns: 1352
2
0
1
1
Returns: 520
2
1
1
1
Returns: 0
3
2
0
0
Returns: 90584
3
1
1
0
Returns: 146016
3
0
0
2
Returns: 16600
8
6
0
1
Returns: 322631395
14
14
0
0
Returns: 707383878
200000
100000
1
1
Returns: 470373717
200000
0
0
0
Returns: 738150635
200000
11
111
1111
Returns: 298235838
200000
199999
0
1
Returns: 886429859
200000
11414
95127
6
Returns: 107223284
200000
53263
79521
61833
Returns: 940256784
200000
33333
34444
41111
Returns: 420445648
80106
19152
24734
30681
Returns: 504912396
101228
71783
18736
4385
Returns: 449664913
129244
1
1
98687
Returns: 20980021
89191
81174
2
2
Returns: 974129078
170436
37064
23234
19240
Returns: 776487996
156166
8075
42471
10941
Returns: 569158500
84705
1980
49267
3041
Returns: 323187298
53828
8418
2946
37842
Returns: 793891112
65776
21706
12290
30546
Returns: 897321747
84403
3497
1641
55356
Returns: 591245319
198645
68610
38232
42110
Returns: 663187821
100324
85447
65819
86967
Returns: 0
61647
3844
59389
55274
Returns: 0
112354
4249
5600
14063
Returns: 421824433
193320
63309
13467
28097
Returns: 28377419
33880
3117
935
26425
Returns: 197682457
105863
60897
33423
955
Returns: 949253849
17125
3042
5685
3715
Returns: 890687495
140891
21685
84401
31220
Returns: 595846236
50478
16027
2910
7636
Returns: 903804426
26263
10974
5978
8107
Returns: 65638354
192582
8155
111969
12152
Returns: 898909822
161034
13729
21241
92858
Returns: 785693515
107669
9282
29
75233
Returns: 41008220
43005
36205
2496
2926
Returns: 143495395
86280
17645
28201
21975
Returns: 115920085
40355
6719
8948
8726
Returns: 160933745
126850
6318
18871
7645
Returns: 443388831
142413
6
10
136451
Returns: 529678522
108616
39814
15183
36002
Returns: 12883772
199999
31257
25791
61833
Returns: 461562268
199999
0
0
0
Returns: 995776632
199999
1
1
100000
Returns: 73575300
199999
35353
35353
35353
Returns: 206155613
100000
33333
33333
33333
Returns: 397319698
111111
2891
25178
25638
Returns: 914512301
190000
65000
4
7
Returns: 908634905
199201
0
70000
0
Returns: 943311211
70000
70000
0
0
Returns: 373218645
162511
14
110
8000
Returns: 628798454
182512
512
512
1024
Returns: 896099224
170333
333
44101
9000
Returns: 132108256
200000
1000
1000
1000
Returns: 294300033
199999
20000
30000
40000
Returns: 548918749
200000
20000
20005
30001
Returns: 955047103
200000
66030
65465
61111
Returns: 782157891