PAT1023
2015-12-13 02:04
253 查看
http://www.patest.cn/contests/pat-a-practise/1023
注意点:题目中的数不超过20位,而64位long long整型只有19位,所以这里采用字符数组的形式保存整数的每一位,难点在于字符数组乘以2怎么实现。
#include <iostream>
#define maxn 25
using namespace std;
int main()
{
int a[10]={0},A[10]={0}; char b[maxn];
char ch; int cnt=1;
while(cin>>ch){
++a[ch-'0'];
b[cnt]=ch;
++cnt;
}
b[0]='0';
int flag=0;
for(int i=cnt-1;i>0;--i){
if(b[i]-'0'>4){
b[i]='0'+(b[i]-'0')*2-10+flag;
++A[b[i]-'0'];
flag=1;
if(i==1){
b[0]='1';
}
}else{
b[i]+=(b[i]-'0')+flag;
++A[b[i]-'0'];
flag=0;
}
}
if(b[0]!='0'){
++A[b[0]-'0'];
}
int equ=1;
for(int i=0;i<10;++i){
if(a[i]!=A[i]){
equ=0;
cout<<"No\n";
break;
}
}
if(equ==1){
cout<<"Yes\n";
}
int sta=0;
if(b[0]=='0'){
sta=1;
}
for(int i=sta;i<cnt;++i){
cout<<b[i];
}
return 0;
}
注意点:题目中的数不超过20位,而64位long long整型只有19位,所以这里采用字符数组的形式保存整数的每一位,难点在于字符数组乘以2怎么实现。
#include <iostream>
#define maxn 25
using namespace std;
int main()
{
int a[10]={0},A[10]={0}; char b[maxn];
char ch; int cnt=1;
while(cin>>ch){
++a[ch-'0'];
b[cnt]=ch;
++cnt;
}
b[0]='0';
int flag=0;
for(int i=cnt-1;i>0;--i){
if(b[i]-'0'>4){
b[i]='0'+(b[i]-'0')*2-10+flag;
++A[b[i]-'0'];
flag=1;
if(i==1){
b[0]='1';
}
}else{
b[i]+=(b[i]-'0')+flag;
++A[b[i]-'0'];
flag=0;
}
}
if(b[0]!='0'){
++A[b[0]-'0'];
}
int equ=1;
for(int i=0;i<10;++i){
if(a[i]!=A[i]){
equ=0;
cout<<"No\n";
break;
}
}
if(equ==1){
cout<<"Yes\n";
}
int sta=0;
if(b[0]=='0'){
sta=1;
}
for(int i=sta;i<cnt;++i){
cout<<b[i];
}
return 0;
}
相关文章推荐
- centos7 install flash-plugin
- Android源码下载方法
- Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
- GIT远程操作详解
- struct 和 typedef struct
- GIT配置及常用命令
- 【Deep learning vs BPL】思考:complex => simple => rich
- GMM-HMM语音识别模型 原理篇
- HDOJ 5595 GTW likes math 【二次函数】
- 【Beta阶段】第一次Scrum Meeting!
- 最短路的理解(续)
- hackthegame<第十关>
- HDOJ 5596 GTW likes gt 【思维 】
- 错误
- Unity 5新特性
- 十五大原理之零三--TCP/IP的三次握手和四次断开原理
- 沉浸式标题
- 信息安全系统设计基础第十四周学习总结
- centos6.5 64位 搭建FTP服务器
- phpunit测试学习 2 分类总结断言涉及哪些方面