cjweffort

博客园 首页 联系 订阅 管理

hash

// 1023. Have Fun with Numbers.cpp: 主项目文件。

#include "stdafx.h"
#include <cstdio>
#include <cstring>

int hash[10];

void doubleOperate(char *str,char *pStr){
	
}

int main()
{
    memset(hash,0,sizeof(hash));
	char str[23],pStr[23];
	gets(str);
	int length=strlen(str);
	for(int i=0;str[i];i++)
		hash[str[i]-'0']++;
	int in=0,cnt=0;
	for(int i=length-1;i>=0;i--){
		int temp=(str[i]-'0')*2+in;
		pStr[cnt++]=temp%10+'0';
		hash[temp%10]--;
		in=temp/10;
	}
	if(in!=0){
		hash[in+'0']--;
		pStr[cnt++]=in+'0';
	}
	bool tag=true;
	for(int i=0;i<10;i++){
		if(hash[i]!=0){
			tag=false;
			break;
		}
	}
	if(!tag)
		puts("No");
	else
		puts("Yes");
	for(int i=cnt-1;i>=0;i--)
		putchar(pStr[i]);
	printf("\n");
    return 0;
}


posted on 2013-03-11 23:12  cjweffort  阅读(170)  评论(0编辑  收藏  举报