woj 1569 - F - Subtract

#include<cstdio>

#include<iostream>

#include<cstring>

#include<cmath>

#include<stdlib.h>

#include<algorithm>

#include<queue>

#include<vector>

#include<ctype.h>

#define LL __int64

using namespace std;

const int MAXN=30;

char str[MAXN];



int work(char str[])

{

    int len=strlen(str);

    int num1=0,num2=0,ans1,ans2;

    if(len%2==1)

    {

        for(int i=0;i<=len/2;i++) num1=num1*10+(str[i]-'0');

        for(int i=len/2+1;i<len;i++) num2=num2*10+(str[i]-'0');

        ans1=abs(num1-num2);



        num1=0,num2=0;

        for(int i=0;i<len/2;i++) num1=num1*10+(str[i]-'0');

        for(int i=len/2;i<len;i++) num2=num2*10+(str[i]-'0');

        ans2=abs(num1-num2);



        return min(ans1,ans2);

    }

    else

    {

        for(int i=0;i<len/2;i++)

            num1=num1*10+(str[i]-'0');

        for(int i=len/2;i<len;i++)

            num2=num2*10+(str[i]-'0');

        return abs(num2-num1);

    }



}



int main()

{

    while(scanf("%s",str)!=EOF)

    {

        int ans;

        ans=work(str);

        printf("%d\n",ans);

    }

    return 0;

}

  

你可能感兴趣的:(Trac)