A. Lever

题目:http://codeforces.com/contest/376/problem/A

题意:杠杆原理

比两边的重量

input

=^==

output

balance

9===^==1

output

left

2==^7==

right

41^52==

balance

PS:这题我大一刚来的时候做过,当时没用__int64存数据,找半天不知道错哪

今天又做了一遍又错这了,不过这回看出来了,哎,也就这点长进了!

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
using namespace std;
#define M 1000009
char s[M];
struct node{
__int64 x;
__int64 y;
};
node p[M];
int main()
{
char a;
int i=,k=;
__int64 bal;
scanf("%c",&a);
while(a!='\n')
{
if(a=='^')
bal=i;
if(a!='^' && a!='=')
{
p[k].x=a-'';
p[k].y=i;
k++;
}
scanf("%c",&a);
i++;
}
int j;
__int64 sum=,num=;
for(j=;j<k;j++)
{
if(p[j].y<bal)
{
sum+=(bal-p[j].y)*p[j].x;
}
else
num+=(p[j].y-bal)*p[j].x;
}
if(sum==num)
printf("balance\n");
else if(sum>num)
printf("left\n");
else if(sum<num)
printf("right\n");
return ;
}
05-11 13:26