PAT 1023 Have Fun with Numbers(简单计数+大整数)
来源:互联网 发布:淘宝虚假交易规则 编辑:程序博客网 时间:2024/05/29 13:31
题目
https://www.patest.cn/contests/pat-a-practise/1023
题意:输入一串不超过20位的数字,将该数字串乘以两倍后,判断新数串是否为原数串的一个排列。
解题思路
统计旧字符串中数字0-9的出现次数和新字符串中数字0-9的出现次数,若两者完全相同,则新数串是原数串的一个排列。
AC代码
#include <iostream>#include <cstring>using namespace std;int main(){ char str[25]; cin >> str; int s[25], index = 0; int old_cnt[10] = {0}; for (int i = strlen(str)-1; i >= 0; --i) { s[index++] = str[i]-'0'; //store digits inversely old_cnt[str[i]-'0']++; //count each digit } //double int res[25] = {0}, new_cnt[10] = {0}, tmp; for (int i = 0; i < index; ++i) { tmp = s[i] << 1; res[i] += tmp%10; res[i+1] += tmp/10; } if (res[index] != 0) new_cnt[res[index]]++; for (int i = 0; i <= index; ++i) { if (i != index) new_cnt[res[i]]++; else if (res[index] != 0) new_cnt[res[index]]++; } //check bool flag = true; for (int i = 0; i <= 9; ++i) { if (old_cnt[i] != new_cnt[i]) { flag = false; break; } } if (flag) cout << "Yes" << endl; else cout << "No" << endl; for (int i = index; i>=0; --i) { if (i == index && res[index] == 0) //leading digit is zero continue; cout << res[i]; } cout << endl; return 0;}
阅读全文
0 0
- PAT 1023 Have Fun with Numbers(简单计数+大整数)
- 1023. Have Fun with Numbers (20)-PAT甲级真题(大整数运算)
- 1023. Have Fun with Numbers (20)-(大整数乘法)
- PAT 甲级 1023 Have Fun with Numbers
- PAT-1023-Have Fun with Numbers
- pat a 1023 Have Fun with Numbers
- pat Have Fun with Numbers
- PAT Have Fun with Numbers
- 浙大PAT 1023题 1023. Have Fun with Numbers
- Pat(Advanced Level)Practice--1023(Have Fun with Numbers)
- PAT (Advanced Level) Practise 1023 Have Fun with Numbers (20)
- PAT (Advanced Level) Practise 1023 Have Fun with Numbers (20)
- pat 1023. Have Fun with Numbers (大水)
- pat甲 1023. Have Fun with Numbers(模拟+set)
- 【PAT】1023. Have Fun with Numbers (20)
- PAT: 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- 对象转换成Json字符串是时中文乱码
- IntelliJ IDEA快速创建Maven工程的WEB项目
- 冒泡排序
- RAM输出延时
- Android Activity 创建 、启动、结束
- PAT 1023 Have Fun with Numbers(简单计数+大整数)
- NOI接水问题
- 启动Jemeter远程测试的基本步骤
- 一名3年经验的程序员应该掌握哪些技能
- C++虚继承与继承
- Python中lambda表达式学习
- [Java]Copy Constructor与clone()方法
- 正则表达式 整数:整数 ,例如1:1
- iOS开发之谈谈App应用的架构搭建(推荐给大家看)