题意:
给定 n ∗ m n*m n∗m 的矩形, ′ . ′ '.' ′.′ 表示空地,其他的表示一个建筑模块,让你求出不是空地的那些地方,组成的一个图形的重心,与最后一行横坐标相比看看是否平衡。
难点在于求重心,这个百度即可,剩下的就是分类讨论
AC代码:
const int N = 1e5 + 10;
int n, m;
char a[110][110];
int ans, res, tmp, cnt;
int main()
{
sdd(n, m);
rep(i, 1, n)
rep(j, 1, m)
cin >>
a[i][j];
cnt = 0;
ans = 0;
rep(i, 1, n)
{
rep(j, 1, m)
{
if (a[i][j] != '.')
{
ans += j;
cnt++;
}
}
}
int l = inf, r = 0;
rep(i, 1, m)
{
if (a[n][i] != '.')
{
l = i;
break;
}
}
per(i, m, 1)
{
if (a[n][i] != '.')
{
r = i;
break;
}
}
double ans1;
ans1 = ans;
ans1 /= cnt;
int ans2 = ans1 + 0.5;
if (ans2 < l)
puts("left");
else if (ans2 > r)
puts("right");
else
puts("balanced");
return 0;
}