#2388: 為什麼每次都在第二行錯?

Unknown User

d336. 一即是全、全即是一 | From: [163.21.208.253] | 發表日期 : 2009-09-17 14:17

 請高手解答

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    int t = 0;

    scanf("%d", &t );

    for( int i = 0 ; i < t ; i++ ) {
        char num[9001];
        scanf("%s", &num );
        int sum = 0;
        bool odd = true;

        for( int j = 0 ; j < strlen(num) ; j++ ) {
            if( odd ) {
                sum += num[j]-'0';
                odd = false;
            } else {
                sum -= num[j]-'0';
                odd = true;
            }
        }

        if( sum == 0 )
            printf("Yes\n");
        else
            printf("No\n");
    }

    return 0;
}

 
#4162: Re:為什麼每次都在第二行錯?


popular10347 (ICPC// 哪時能唸到高等演算法T^T)

學校 : 元智大學
編號 : 11351
來源 : [1.169.118.99]
最後登入時間 :
2012-10-29 00:22:54
d336. 一即是全、全即是一 | From: [122.116.13.125] | 發表日期 : 2010-08-27 02:45

 請高手解答

 #include
#include
#include

int main() {
    int t = 0;

    scanf("%d", &t );

    for( int i = 0 ; i < t ; i++ ) {
        char num[9001];
        scanf("%s", &num );
        int sum = 0;
        bool odd = true;

        for( int j = 0 ; j < strlen(num) ; j++ ) {
            if( odd ) {
                sum += num[j]-'0';
                odd = false;
            } else {
                sum -= num[j]-'0';
                odd = true;
            }
        }

        if( sum == 0 )
            printf("Yes\n");
        else
            printf("No\n");
    }

    return 0;
}

 sum==0 ??

不一定喔!! 例如:10001100101000 (=9000 )
這就沒有了。

所以你只要改最後的條件就可以AC囉^^...

 
ZeroJudge Forum