A. Lever
题目:http://codeforces.com/contest/376/problem/A
题意:杠杆原理
比两边的重量
input
=^==
output
balance
9===^==1
output
left
2==^7==
right
41^52==
balance
PS:这题我大一刚来的时候做过,当时没用__int64存数据,找半天不知道错哪
今天又做了一遍又错这了,不过这回看出来了,哎,也就这点长进了!
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstdlib> 5 #include<cstring> 6 using namespace std; 7 #define M 1000009 8 char s[M]; 9 struct node{ 10 __int64 x; 11 __int64 y; 12 }; 13 node p[M]; 14 int main() 15 { 16 char a; 17 int i=0,k=0; 18 __int64 bal; 19 scanf("%c",&a); 20 while(a!=' ') 21 { 22 if(a=='^') 23 bal=i; 24 if(a!='^' && a!='=') 25 { 26 p[k].x=a-'0'; 27 p[k].y=i; 28 k++; 29 } 30 scanf("%c",&a); 31 i++; 32 } 33 int j; 34 __int64 sum=0,num=0; 35 for(j=0;j<k;j++) 36 { 37 if(p[j].y<bal) 38 { 39 sum+=(bal-p[j].y)*p[j].x; 40 } 41 else 42 num+=(p[j].y-bal)*p[j].x; 43 } 44 if(sum==num) 45 printf("balance "); 46 else if(sum>num) 47 printf("left "); 48 else if(sum<num) 49 printf("right "); 50 return 0; 51 }