QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#726394 | #2925. Parking Lot | zeyu# | AC ✓ | 694ms | 3972kb | C++23 | 2.5kb | 2024-11-08 23:42:02 | 2024-11-08 23:42:04 |
Judging History
answer
#include <bits/stdc++.h>
#define fi first
#define se second
#define ll long long
#define pl pair<ll, ll>
#define pi pair<int, int>
#define minpq priority_queue<ll, vector<ll>, greater<ll>>
using namespace std;
#if 1
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '['; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "]";}
void _print() {cerr << endl << flush;}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define debug(x...) cerr << "*["<<__LINE__<<"]\t"<< #x << " = "; _print(x)
#endif
const ll mod = 1e9 + 7;
template<typename T> bool chkmin(T &a, T b){return (b < a) ? a = b, 1 : 0;}
template<typename T> bool chkmax(T &a, T b){return (b > a) ? a = b, 1 : 0;}
ll gcd(ll a, ll b) {if(b == 0){return a;} return gcd(b, a % b);}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n, m; cin >> n >> m;
vector<string> a(n);
for (int i = 0; i < n; i ++) cin >> a[i];
double dp[n + 1][m + 1];
for (int i = 0; i <= n; i ++){
for (int j = 0; j <= m; j ++) dp[i][j] = 1e9;
}
dp[0][0] = 0;
for (int i = 0; i <= n; i ++){
for (int j = 0; j <= m; j ++){
if (i > 0) chkmin(dp[i][j], dp[i - 1][j] + 1);
if (j > 0) chkmin(dp[i][j], dp[i][j - 1] + 1);
for (int pvi = 0; pvi < i; pvi ++){
for (int pvj = 0; pvj < j; pvj ++){
bool good = true;
for (int k = pvi; k < i; k ++){
for (int p = pvj; p < j; p ++){
if ((p - pvj) * (i - pvi) < (k - pvi + 1) * (j - pvj) && (p - pvj + 1) * (i - pvi) > (k - pvi) * (j - pvj)){
if (a[k][p] == '#') good = false;
}
}
}
if (good) chkmin(dp[i][j], dp[pvi][pvj] + sqrt((i - pvi) * (i - pvi) + (j - pvj) * (j - pvj)));
}
}
}
}
cout << fixed << setprecision(10) << dp[n][m] << '\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3836kb
input:
1 1 .
output:
1.4142135624
result:
ok found '1.4142136', expected '1.4142136', error '0.0000000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
1 1 #
output:
2.0000000000
result:
ok found '2.0000000', expected '2.0000000', error '0.0000000'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
1 3 .#.
output:
3.4142135624
result:
ok found '3.4142136', expected '3.4142136', error '0.0000000'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
1 3 ##.
output:
3.4142135624
result:
ok found '3.4142136', expected '3.4142136', error '0.0000000'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
2 3 .#. .#.
output:
3.8284271247
result:
ok found '3.8284271', expected '3.8284271', error '0.0000000'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
2 6 #..#.# #.#..#
output:
6.4721359550
result:
ok found '6.4721360', expected '6.4721360', error '0.0000000'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
6 5 .#### #...# #.##. #.### ##... ####.
output:
8.2267727624
result:
ok found '8.2267728', expected '8.2267728', error '0.0000000'
Test #8:
score: 0
Accepted
time: 1ms
memory: 3864kb
input:
12 10 ########## ########## ###....### ########## #..####..# ###....### #######.## ...####### ###....### #######..# ###....### ##########
output:
18.9442719100
result:
ok found '18.9442719', expected '18.9442719', error '0.0000000'
Test #9:
score: 0
Accepted
time: 685ms
memory: 3900kb
input:
50 50 .................................................. .................................................. .................................................. .................................................. .................................................. ..........................................
output:
70.7106781187
result:
ok found '70.7106781', expected '70.7106781', error '0.0000000'
Test #10:
score: 0
Accepted
time: 11ms
memory: 3884kb
input:
13 47 ............................................... ............................................... ............................................... ............................................... ............................................... ............................................... .........
output:
48.7647413609
result:
ok found '48.7647414', expected '48.7647414', error '0.0000000'
Test #11:
score: 0
Accepted
time: 684ms
memory: 3828kb
input:
50 50 ################################################## ################################################## ################################################## ################################################## ################################################## #######################################...
output:
100.0000000000
result:
ok found '100.0000000', expected '100.0000000', error '0.0000000'
Test #12:
score: 0
Accepted
time: 12ms
memory: 3784kb
input:
47 13 ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ...
output:
60.0000000000
result:
ok found '60.0000000', expected '60.0000000', error '0.0000000'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3844kb
input:
49 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
output:
49.0102030194
result:
ok found '49.0102030', expected '49.0102030', error '0.0000000'
Test #14:
score: 0
Accepted
time: 1ms
memory: 3888kb
input:
49 1 . . # # # . . . . . # # # # # # # # # # . . . . # . . . . # # # . # # . . # # # # # . # # . . . .
output:
49.0990195136
result:
ok found '49.0990195', expected '49.0990195', error '0.0000000'
Test #15:
score: 0
Accepted
time: 1ms
memory: 3804kb
input:
3 45 ............................................. ............................................. .............................................
output:
45.0998891351
result:
ok found '45.0998891', expected '45.0998891', error '0.0000000'
Test #16:
score: 0
Accepted
time: 1ms
memory: 3956kb
input:
3 45 ###..####.##.#.#.##..#.#############...##.### ##.###..#.##.#.##.#.#...#.......#...##..###.# ###...##..##........#..###.#...#..#.#.....#..
output:
45.4061553030
result:
ok found '45.4061553', expected '45.4061553', error '0.0000000'
Test #17:
score: 0
Accepted
time: 692ms
memory: 3920kb
input:
50 50 .................................................. ........#......................................... .................................................. .................................................. .................................................. ..........................................
output:
70.7106781187
result:
ok found '70.7106781', expected '70.7106781', error '0.0000000'
Test #18:
score: 0
Accepted
time: 12ms
memory: 3812kb
input:
13 47 ......................................#........ ............................................... ...........#.....#............................. ............................................... ............................................... ............................................... .........
output:
48.7647413609
result:
ok found '48.7647414', expected '48.7647414', error '0.0000000'
Test #19:
score: 0
Accepted
time: 288ms
memory: 3796kb
input:
40 46 .............................................. ......................#................#...... ...........................#.................. ............#................................. .............................................. .............................................. ...............
output:
60.9590026165
result:
ok found '60.9590026', expected '60.9590026', error '0.0000000'
Test #20:
score: 0
Accepted
time: 694ms
memory: 3916kb
input:
50 50 ........................#......................... .......#.......#....#.........#.............#..... ...............#.................................. .........#...........#................#..#........ ....#........#............................#....##. ....#.....#....................#.#........
output:
70.9811719495
result:
ok found '70.9811719', expected '70.9811719', error '0.0000000'
Test #21:
score: 0
Accepted
time: 9ms
memory: 3892kb
input:
47 13 ..........#.. ............. ............. ..........#.. ....#....#... ...##........ ...#......#.. ............. ............. ............. ............. ............. ...........#. ............. ........#.... ............. ............. ........#.... ........#..#. ............. ............. ...
output:
48.7724812989
result:
ok found '48.7724813', expected '48.7724813', error '0.0000000'
Test #22:
score: 0
Accepted
time: 286ms
memory: 3912kb
input:
40 46 .......#...........#.#.......#................ .#..............................#........#.... ...........................#..............#... ..............#............................... .....................................#.......# .#..........................#...........#..... .......#.......
output:
61.1312087107
result:
ok found '61.1312087', expected '61.1312087', error '0.0000000'
Test #23:
score: 0
Accepted
time: 683ms
memory: 3808kb
input:
50 50 .#...###.#..#.#.....#.#..###..#.#..#.....###.##.#. ####..###..#...##..######.##..#####..##.###..##.## #####..#..###..##..#.#..#.##...#.#####.##..#####.# ....##....#.#####.#.##.##....#.###.#...#.#.##.##.# ##.....#.##.########..##..#....#.##..#.##.##...#.. ###.#..##.##.#####.##..##.#.#.#.#.#..##...
output:
74.4641296411
result:
ok found '74.4641296', expected '74.4641296', error '0.0000000'
Test #24:
score: 0
Accepted
time: 375ms
memory: 3852kb
input:
47 43 #.#...#.#...##.#.##.##.#.#....#.####.#..#.. .####....#..#..#..#.#...####...#.#.......## .#.#####.#..#..#..#####.#####.#.#.###..##.# .###.#####.#....######...#.#.#.#..##.###... .#.###.......#..#####..#######..#..#....#.# #..####..#.##.#..#..##.#.#.###.####.###.#.. .#.##.#####.#.##.##..##.#.##.....
output:
67.7300785565
result:
ok found '67.7300786', expected '67.7300786', error '0.0000000'
Test #25:
score: 0
Accepted
time: 419ms
memory: 3820kb
input:
44 48 ##....###...#.#..##....###..##.##.....###.###... #..##..#..#........###.###....##.##..##...#.###. .#....###...#.......#.###..##..##...#.####.#.... .#.#.###...#.#..#..###..##....###..####....#.#.. ...#.#.#...##..#..###.###.#.#..#...#.###..##.#.. ##.#.###...####.#..#..#####.##..#.##.##......... ...
output:
69.0597016892
result:
ok found '69.0597017', expected '69.0597017', error '0.0000000'
Test #26:
score: 0
Accepted
time: 685ms
memory: 3908kb
input:
50 50 ..#.####..#.##########..#######.####.#.#.######### ....#####.##..#########.#######.##.##..##.####..#. ##.#####.##.#.###.##..#.#.#####..#######.###.##### .##..######..#.########.#..######..######.######.# ##.#################.#####.##..##.########.####### ###.#.#..##.#########.#.###.####.##.###...
output:
81.5870286298
result:
ok found '81.5870286', expected '81.5870286', error '0.0000000'
Test #27:
score: 0
Accepted
time: 682ms
memory: 3916kb
input:
50 50 #####.#######.##..#...########..#####.###..###.#.# ###.#####.#.##....#....#.###.#####.###.###.##.##.# ..#.######..#..##..#..######.####.#.#########..##. #####..####.###.##.########.#.###########.###.###. ###.#######.###....##########..###.##.#.###.#..### .##..##.##.###.##.#########.#.###.#####...
output:
80.7101342555
result:
ok found '80.7101343', expected '80.7101343', error '0.0000000'
Test #28:
score: 0
Accepted
time: 683ms
memory: 3972kb
input:
50 50 #..#####..######..##.#####.###########.##.###.###. #.######.##.###.##.####.###.#####.###.#.##...##### #########.##..##.####...#.##########.#####.####### ########...#..#..#####.##.#####.##.###.#..#######. .##############.######..###.#..#####.######.####.# ##.##.#.###.##.#.#####.#..##.###.##.###...
output:
81.3350927276
result:
ok found '81.3350927', expected '81.3350927', error '0.0000000'
Test #29:
score: 0
Accepted
time: 676ms
memory: 3920kb
input:
50 50 ##.########.#####################.#######..######. ###.#####.##.###.########...####..##########.#..## ##.#.##.##...##.###########.#####.####.##.######.# #..#####..###.#.##.######.##########.###.###.##### ###.####..########.#.######.###.####.########..### ######.##.#######.#######.#..######...#...
output:
80.7229800402
result:
ok found '80.7229800', expected '80.7229800', error '0.0000000'
Test #30:
score: 0
Accepted
time: 684ms
memory: 3780kb
input:
50 50 #########.##########.##.############.#######.##### #########################.#######.########.####### ..###########.#######.#####.#######..#######.##.## ##########.##################.###################. ############.#########.################..#.####### #########.##########.######.##.########...
output:
86.7339665681
result:
ok found '86.7339666', expected '86.7339666', error '0.0000000'
Test #31:
score: 0
Accepted
time: 681ms
memory: 3904kb
input:
50 50 ########..#############.###################..##### #######.############.############.#####.########## ###########.#########################..#####.##.## #####.###############.##################.#####.### ################..############..#########.######## #############################.######.##...
output:
86.9411722059
result:
ok found '86.9411722', expected '86.9411722', error '0.0000000'
Test #32:
score: 0
Accepted
time: 682ms
memory: 3772kb
input:
50 50 #####..#.##.######.#########..#######.##..######## ###################...####################.######. .####.######.###########.#######################.# ################.##########.##..################.# ######.#.#################.#########.#########.#.# ##########..######.#############.######...
output:
86.4001160327
result:
ok found '86.4001160', expected '86.4001160', error '0.0000000'
Test #33:
score: 0
Accepted
time: 682ms
memory: 3856kb
input:
50 50 .###############.#########.##.###.#########.###### #####.###..##############.###########.#.#########. ################.#####.##############.#######.#### #######..###.####################.#.#####.###..### #####.#.####.#####.####.#.######################.# #######.################.##.#####.##.##...
output:
86.4001160327
result:
ok found '86.4001160', expected '86.4001160', error '0.0000000'
Test #34:
score: 0
Accepted
time: 683ms
memory: 3912kb
input:
50 50 ....############################################## ###.....########################################## #######.....###################################### ###########.....################################## ###############....############################### ###################.###################...
output:
74.2911870736
result:
ok found '74.2911871', expected '74.2911871', error '0.0000000'
Test #35:
score: 0
Accepted
time: 682ms
memory: 3848kb
input:
50 50 .################################################# .################################################# ..################################################ #.################################################ #.################################################ #..####################################...
output:
74.8604442675
result:
ok found '74.8604443', expected '74.8604443', error '0.0000000'
Test #36:
score: 0
Accepted
time: 680ms
memory: 3892kb
input:
50 50 .################################################# ..################################################ #..############################################### ##..############################################## ###..############################################# ####.##################################...
output:
72.6800364344
result:
ok found '72.6800364', expected '72.6800364', error '0.0000000'
Test #37:
score: 0
Accepted
time: 681ms
memory: 3920kb
input:
50 50 .################################################# ..################################################ #.################################################ #..############################################### ##..############################################## ###.###################################...
output:
71.9011737346
result:
ok found '71.9011737', expected '71.9011737', error '0.0000000'
Test #38:
score: 0
Accepted
time: 680ms
memory: 3780kb
input:
50 50 .################################################# .################################################# .################################################# .################################################# .################################################# .######################################...
output:
80.0738471351
result:
ok found '80.0738471', expected '80.0738471', error '0.0000000'
Test #39:
score: 0
Accepted
time: 679ms
memory: 3772kb
input:
50 50 .################################################# ..################################################ #.################################################ #..############################################### ##.############################################### ##..###################################...
output:
76.6029900730
result:
ok found '76.6029901', expected '76.6029901', error '0.0000000'
Test #40:
score: 0
Accepted
time: 681ms
memory: 3912kb
input:
50 50 ...############################################### ##....############################################ #####...########################################## ########...####################################### ##########....#################################### #############...#######################...
output:
76.7843160097
result:
ok found '76.7843160', expected '76.7843160', error '0.0000000'
Test #41:
score: 0
Accepted
time: 682ms
memory: 3908kb
input:
50 50 .################################################# #.################################################ ##.############################################### ###.############################################## ####.############################################# #####.#################################...
output:
75.9965204027
result:
ok found '75.9965204', expected '75.9965204', error '0.0000000'
Test #42:
score: 0
Accepted
time: 680ms
memory: 3888kb
input:
50 50 .################################################# #.################################################ ##.############################################### ###.############################################## ####.############################################# #####.#################################...
output:
72.5743073617
result:
ok found '72.5743074', expected '72.5743074', error '0.0000000'
Test #43:
score: 0
Accepted
time: 684ms
memory: 3916kb
input:
50 50 .################################################# #.################################################ ##.############################################### ###.############################################## ####.############################################# #####.#################################...
output:
76.4090909654
result:
ok found '76.4090910', expected '76.4090910', error '0.0000000'
Test #44:
score: 0
Accepted
time: 678ms
memory: 3840kb
input:
50 50 .################################################# #.################################################ ##.############################################### ###.############################################## ####.############################################# #####.#################################...
output:
73.4364937471
result:
ok found '73.4364937', expected '73.4364937', error '0.0000000'
Test #45:
score: 0
Accepted
time: 680ms
memory: 3852kb
input:
50 50 .################################################# #.################################################ ##.############################################### ###.############################################## ####.############################################# #####.#################################...
output:
73.7681785004
result:
ok found '73.7681785', expected '73.7681785', error '0.0000000'
Test #46:
score: 0
Accepted
time: 684ms
memory: 3912kb
input:
50 50 .################################################# #.################################################ #..############################################### ##..############################################## ###..############################################# ####..#################################...
output:
70.8291472641
result:
ok found '70.8291473', expected '70.8291473', error '0.0000000'
Test #47:
score: 0
Accepted
time: 682ms
memory: 3768kb
input:
50 50 .################################################# #..############################################### ##..############################################## ###..############################################# ####..############################################ #####..################################...
output:
70.7337485033
result:
ok found '70.7337485', expected '70.7337485', error '0.0000000'
Test #48:
score: 0
Accepted
time: 681ms
memory: 3776kb
input:
50 50 .################################################# #.################################################ #..############################################### ##..############################################## ###..############################################# ####..#################################...
output:
71.4412021172
result:
ok found '71.4412021', expected '71.4412021', error '0.0000000'
Test #49:
score: 0
Accepted
time: 684ms
memory: 3968kb
input:
50 50 ........................########################## #######################........................### ###############################################.## ###############################################.## ###############################################.## #######################################...
output:
95.2492341237
result:
ok found '95.2492341', expected '95.2492341', error '0.0000000'
Test #50:
score: 0
Accepted
time: 682ms
memory: 3908kb
input:
50 50 .............##################################### #############.............######################## ##########################.............########### #######################################.########## #######################################.########## #######################################...
output:
87.3995487821
result:
ok found '87.3995488', expected '87.3995488', error '0.0000000'
Test #51:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
4 4 ..#. .#.# ###. .#..
output:
5.8863495174
result:
ok found '5.8863495', expected '5.8863495', error '0.0000000'
Test #52:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
2 2 ## ##
output:
4.0000000000
result:
ok found '4.0000000', expected '4.0000000', error '0.0000000'