【PAT甲级】1023 Have Fun with Numbers (20 分)
2024-09-07 00:31:39
题意:
输入一个不超过20位的正整数,问乘2以后是否和之前的数组排列相同(数字种类和出现的个数不变),输出Yes或No,并输出乘2后的数字。
AAAAAccepted code:
#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int vis[];
string s;
int ans[];
int main(){
cin>>s;
int len=s.size();
for(int i=len-;i>=;--i)
++vis[s[i]-''];
int cnt=;
int x=;
for(int i=len-;i>=;--i){
x=(s[i]-'')*;
if(ans[cnt+]+x%>){
ans[++cnt]+=x%-;
++ans[cnt+];
}
else{
ans[++cnt]+=x%;
if(x>)
++ans[cnt+];
}
}
for(int j=;j;--j)
if(ans[j]){
cnt=j;
break;
}
for(int i=;i<=cnt;++i)
--vis[ans[i]];
int flag=;
for(int i=;i<;++i)
if(vis[i])
flag=;
if(flag)
cout<<"No\n";
else
cout<<"Yes\n";
for(int i=cnt;i;--i)
cout<<ans[i];
return ;
}
最新文章
- PAT 1045. 快速排序(25)
- SpringMVC下Ajax请求的方法,@Responsebody如果返回的是布尔值,ajax不会接到任何回传数据
- September 17th 2016 Week 38th Saturday
- Win10 创建应用程序包及部署
- Thinking in Java from Chapter 15
- 第一个app.总结
- Ibatis学习总结4--SQL Map XML 映射文件扩展
- CircleWaveProgressBar
- Mac OS恢复出厂系统方法
- android 时间滚动控件 底部弹出
- Fiddler-弱网测试设置
- 一次composer错误使用引发的思考
- Docker 学习4 Docker容器虚拟化网络概述
- 【winform】serialPort 串口
- oracle等待事件-direct path read/write
- css 规则中两个类连在一起是什么意思?
- C语言控制结构
- mysql 和 sqlite 区别 及 SQLite Expert Professional sqliteManager 区别
- MySQL -- 全文检索(自然语言全文检索)
- Luogu 3373 又乘又加的线段树