Living one day at a time (update for a long time)

1,  http://acm.hdu.edu.cn/showproblem.php?pid=1228    2014-04-14  10:39:52

分析:字符串处理题。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cstring>
#include<map>

using namespace std;

map<string,int> mp;

void init(){
    mp["zero"]=0;  mp["one"]=1;   mp["two"]=2;   mp["three"]=3;
    mp["four"]=4;  mp["five"]=5;  mp["six"]=6;   mp["seven"]=7;
    mp["eight"]=8; mp["nine"]=9;  mp["+"]=0;     mp["="]=0;
}


int main(){

    //freopen("input.txt","r",stdin);

    char str[1100];
    init();

    while(~scanf("%s",str)){

        int ans=0;
        int tmp1=0,tmp2=0;
        int flag=0;
        tmp1=mp[str];
        while(scanf("%s",str) && strcmp(str,"=")!=0){
            if(strcmp(str,"+")==0){
                flag=1;
                continue;
            }
            if(flag==0){
                tmp1=tmp1*10+mp[str];
            }else{
                tmp2=tmp2*10+mp[str];
            }
        }
        ans=tmp1+tmp2;
        if(ans==0)
            break;
        printf("%d\n",ans);
    }

    return 0;
}
View Code

 

2,  http://acm.hdu.edu.cn/showproblem.php?pid=1229    2014-04-14  10:48:57

分析:easy题。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cstring>
#include<map>

using namespace std;

int main(){
    
//    freopen("input.txt","r",stdin);

    int a,b,k;
    while(~scanf("%d%d%d",&a,&b,&k)){
        int tmp=1;
        if(a+b==0)
            break;
        while(k!=0){
            tmp*=10;
            k--;
        }
        if(a%tmp-b%tmp==0){
            printf("-1\n");
        }else{
            printf("%d\n",a+b);    
        }
    }
    return 0;
}
View Code

 

posted @ 2014-04-14 10:41  Jack Ge  阅读(356)  评论(0编辑  收藏  举报