A. Appalling Architecture(重心公式)_分类讨论


A. Appalling Architecture(重心公式)_百度_02

题意:

给定 A. Appalling Architecture(重心公式)_分类讨论_03 的矩形,A. Appalling Architecture(重心公式)_百度_04

难点在于求重心,这个百度即可,剩下的就是分类讨论

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