QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#726394#2925. Parking Lotzeyu#AC ✓694ms3972kbC++232.5kb2024-11-08 23:42:022024-11-08 23:42:04

Judging History

你现在查看的是最新测评结果

  • [2024-11-08 23:42:04]
  • 评测
  • 测评结果:AC
  • 用时:694ms
  • 内存:3972kb
  • [2024-11-08 23:42:02]
  • 提交

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';
}

详细

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'