#特殊判断#牛客练习赛71 A 回文数
分析
首先出现奇数次的数超过1显然无解
并且只有多个0或者只有一个非0数字并且其它都是0也无解
然后由于没有前导0所以先要找到最小的非0数,先占据首尾
最后按照常规方法前一半从左到右依次递增
注意如果只有一个非0数字并且出现奇数次以及其它都是0不一定无解,
成功因此罚了两次时
代码
#include <cstdio>
#define rr register
using namespace std;
int c[10],rt=-1,f,cnt;
inline void doit(){
for (rr int i=0;i<10;++i)
for (rr int j=c[i];j>1;j-=2)
putchar(i+48),--c[i];
if (~rt) putchar(rt+48),--c[rt];
for (rr int i=9;~i;--i)
for (;c[i];--c[i]) putchar(i+48);
}
signed main(){
for (rr int i=0;i<10;++i)
scanf("%d",&c[i]),cnt+=c[i];
for (rr int i=0;i<10;++i)
if (c[i]&1){
if (~rt) return !printf("-1");
else rt=i;
}
if (c[0]){
for (rr int i=1;i<10;++i) if (c[i]){f=i; break;}
if (cnt-c[0]==1||(cnt==c[0]&&c[0]>1)) return !printf("-1");
if (!f) return !printf("0");
putchar(f+48),c[f]-=2,doit(),putchar(f+48);
}else doit();
return 0;
}
#特殊判断#牛客练习赛71 A 回文数的更多相关文章
- 牛客练习赛71 数学考试 题解(dp)
题目链接 题目大意 要你求出有多少个长度为n的排列满足m个限制条件 第i个限制条件 p[i]表示前 p[i]个数不能是1-p[i]的排列 题目思路 这个感觉是dp但是不知道怎么dp 首先就是要明白如果 ...
- 牛客练习赛71 C.数学考试 (DP,容斥原理)
题意:RT 题解:先对\(p\)排个序,然后设\(dp[i]\)表示前\(i-1\)个\(p[i]\)满足条件但是\(p[i]\)不满足,即在\([1,p[i]]\)中不存在从\(p[1]\)到\(p ...
- 用while判断输入的数字是否回文数
/* Name:用while判断输入的数字是否回文数 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月18日 04:29:07 Description:用 ...
- 【python实例】判断是否是回文数
""" 输入一个数,判断一个这个数是否是回文数.例如:121,这个数反过来还是121,所以这个是回文数: 再如:134,这个数反过来是431,所以这不是一个回文数: 12 ...
- 【Python 实例】回文数判断
[Python 实例]回文数判断 题目: 源代码: 运行结果: 题目: 判断输入的字符串是否为回文数 源代码: """ string_reverse_output():反 ...
- 简单判断long long 以内的回文数
bool Ispalindrome(long long x) { if(x<0||(x>0&&x%10==0))return false; long long back=0 ...
- Problem C: 是否回文数?
Description 定义Data类,有一个int类型的属性.定义其构造函数.setValue函数和isPalindrome函数,其中setValue函数用于设置属性值,isPalindrome用于 ...
- leetcode-9.回文数(水仙花数)
leetcode-9.回文数(水仙花数) 题意:给定整数,判断是否是水仙花数(回文数),返回判断结果 算法: 1.判断负数, 如果是负数直接返回false 2.将整数逐位拆解,用数组存储 3.遍历数组 ...
- 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B
牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...
- 牛客练习赛11 假的字符串 (Trie树+拓扑找环)
牛客练习赛11 假的字符串 (Trie树+拓扑找环) 链接:https://ac.nowcoder.com/acm/problem/15049 来源:牛客网 给定n个字符串,互不相等,你可以任意指定字 ...
随机推荐
- 内存管理(二)之别小看了Tagged-Pointer关键时刻起到大作用
本文主要研究Tagged Pointer技术,针对该技术需要解决的问题.以及在实际应用中的价值做一些简单的探讨. 如果你想要更进一步,去挖掘Tagged Pointer是如何实现的,可以参考Frida ...
- PMP考试计算题汇总
第6章 项目时间管理 本节术语较多.涉及的工具&技术也不少. 主要包括活动定义.活动排序.活动资源估算.活动历时估算.进度制定.进度控制6个子过程. 1.1活动定义:就是对WBS的进一步分解. ...
- C#多线程(5):资源池限制
目录 Semaphore.SemaphoreSlim 类 Semaphore 类 示例 示例说明 信号量 SemaphoreSlim类 示例 区别 Semaphore.SemaphoreSlim 类 ...
- 手把手带你快速上手香橙派AIpro
本文分享自华为云社区<香橙派AIpro快速上手指南>,作者:昇腾CANN. 1 前言 作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上.性能上还是技术服 ...
- 使用grafana+Prometheus监控时PromQL内置函数详解
1.Prometheus简介 Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). Prometheus使用Go语言开发, 是Googl ...
- Netty笔记(2) - 基本实现与异步模型
示例内容: 服务端监听6668端口 , 客户端连接 并发送信息给服务端 ,服务端收到信息打印 并返回信息给客户端 服务端代码: public class NettyServer { public st ...
- vue3切换theme功能
切换主题,老生常谈.反正我是第一次弄,还挺巧妙 我的实现方式是通过:root的修改,来一键换色 :root { // 主题色 --ry-primary-color: #ff9c00; // layou ...
- ubuntu spyder3 颜色重置为暗色
天杀的微软,爷用的是正版的专业版windows10还给爷推送个拿屁股作出来的系统 20H2 ,所有被强制更新的用户都不同程度的黑屏.卡顿.重启.还是ubuntu大法啊! 在ubuntu上换源下载vlc ...
- Django使用Bootstrap的经典方法
前面的话 Bootstrap是简单.灵活的用于搭建WEB页面的HTML.CSS.Javascript的工具集.Bootstrap基于HTML5和CSS3,具有漂亮的设计.友好的学习曲线.卓越的兼容性, ...
- Github下载release附件变相提速方法
最近找到了个油猴插件,下载2M/s,推荐大家使用Github 镜像访问,加速下载 描述 github上面有许多开源的软件,作者们都打包发布为release版本,我们可以下载打包好的软件,但是,由于国内 ...