| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:求高手帮忙看下代码,不知道哪里没有考虑到,一直是WA,我有用__int64,万分感谢In Reply To:求高手帮忙看下代码,不知道哪里没有考虑到,一直是WA,我有用__int64,万分感谢 Posted by:Sukileen at 2009-09-03 10:04:10 > #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <math.h>
> char num[1000010];
> int main () {
> int cases, i, l;
> __int64 s, a, b, x, y;
> scanf("%d", &cases);
> while(cases--) {
> scanf("%s", num);
> l = strlen(num);
> a = b = x = y = 0;
> s = 0;
> for(i = 0; i < l; i++) {
> if(num[i] == '5')
> break;
> if(num[i] == '8') {
> b++;
> }
> if(num[i] == '2') {
> b--;
> }
> if(num[i] == '6') {
> a++;
> }
> if(num[i] == '4') {
> a--;
> }
> if(num[i] == '9') {
> a++;
> b++;
> }
> if(num[i] == '7') {
> a--;
> b++;
> }
> if(num[i] == '3') {
> a++;
> b--;
> }
> if(num[i] == '1') {
> a--;
> b--;
> }
> s = s + x * b - a * y;
> x = a;
> y = b;
> //printf("area:%I64d\n", s);
> }
> if(s < 0)
> s = s * -1;
> if(s % 2 == 0)
> printf("%I64d\n", s / 2);
> else
> printf("%I64d.5\n", s / 2);
> }
> return 0;
> }
把a,b,x,y全变成int64 就可以过了
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator