qboimathtest1 t1 魔法串
题目
小 N 最近在沉迷数学问题。
对于一个数字串 S,如果可以将它划分成两个数字 A、B,满足:
1、 S=AB。
2、 A、B 均不包含前导 0。
3、 B 是 A 的倍数,且B / A是完全立方数。
那么小 N 就认为该划分是一个“好划分”。 如对于数字串“11297”,(11, 297)就是一个“好划分”。
如果一个数字串 S 至少有两个“好划分”,那么小 N 就认为 S 是一个“魔法串”。 如数字串“1335702375”就是一个“魔法串”,其“好划分”有(1, 335702375)和(133,5702375)。
现在给定正整数 N,小 N 需要你帮她求出一个长度恰好为 N 的“魔法串”S,如果无解请输出“QwQ”(不带引号)。
【输入】
一行一个正整数 N。
【输出】
一行一个长度恰好为 N 的“魔法串”S, 如果无解请输出“QwQ”(不带引号) 。
【输入输出样例】
19
【输出样例】
1124784124392112128
【数据范围】
对于 30%的数据: 1 ≤ N ≤ 10。
对于 50%的数据: 1 ≤ N ≤ 35。
对于 100%的数据: 1 ≤ N ≤ 100。
分析
当N <= 4时无解。
如果数字串S是一个魔法串,那么向 S 后面添加 “000” 后得到的新串也是一个魔法串。那所以只需要求出N = 5、6、7时的可行解,就可以推广到所有情况。这样的可行解之一是73584(000)*、324000(000)*、1621296(000)*。时间复杂度:O(N)
搜索或手玩并打表,可以拿到30 ~ 50分。
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
int main(){
int n;
cin>>n;
if(n<=)puts("QwQ");
else {
if(n%==){
n-=;
cout<<;
for(int i=;i<=n;i++)cout<<;
}else if(n%==){
n-=;
cout<<;
for(int i=;i<=n;i++)cout<<;
}else {
n-=;
cout<<;
for(int i=;i<=n;i++)cout<<;
}
} return ;
}
qboimathtest1 t1 魔法串的更多相关文章
- hdu----(4545)魔法串(LCS)
魔法串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submiss ...
- 魔法串(hud4545)
魔法串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submiss ...
- HDU 4545 (模拟) 魔法串
题目链接 Problem Description 小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小 ...
- hdu 4545 魔法串 2013金山西山居创意游戏程序挑战赛——初赛(1)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4545 这题太坑了,小明的串可以任意删掉某个字符 这句话不知道大家是怎么理解的,我觉得应该是能够删除其中 ...
- hdu 4545 魔法串
http://acm.hdu.edu.cn/showproblem.php?pid=4545 #include <cstdio> #include <cstring> #inc ...
- AT89S52之串行异步通信笔记
SRF 中断入口地址 中断源 外中断 外部中断0 INT0(P3.2) 外部中断1 INT1(P3.3) 电平方式触发 低电平 脉冲方式触发 脉冲后延的负跳 内中断 定时中断 串行中断 中断允许控制寄 ...
- _DataStructure_C_Impl:链串
//_DataStructure_C_Impl:链串 #include<stdio.h> #include<stdlib.h> #include<string.h> ...
- hdu 5030 Rabbit's String(后缀数组&二分法)
Rabbit's String Time Limit: 40000/20000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- 【BZOJ 4310】跳蚤
[链接]h在这里写链接 [题意] 给你一个字符串; 让你把它分割成最多k个部分. 然后求出每个部分的字符串里面子串的字典序最大的那一个子串. 然后在这k ...
随机推荐
- [转]eclipse中的常用快捷键
1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释2.先把你要注释的东西选中,用shit+ctrl+/ 会加上注释3.要修改在eclispe中的命令的快捷键方式我们只需进入windo ...
- spring项目命名
groupId 一般分为多个段,最简单的分两段,第一段为域,第二段为公司名称.域又分为org.com.cn等等许多, 举个apache公司的tomcat项目例子:这个项目的groupId是org.ap ...
- Nginix安装教程(Ubuntu)
安装gcc g++的依赖库 #apt-get install build-essential #apt-get install libtool 安装 pcre依赖库 #sudo apt-get u ...
- LINQ 学习路程 -- 查询操作 Expression Tree
表达式树就像是树形的数据结构,表达式树中的每一个节点都是表达式, 表达式树可以表示一个数学公式如:x<y.x.<.y都是一个表达式,并构成树形的数据结构 表达式树使lambda表达式的结构 ...
- EntityFramework 学习 一 创建实体数据模型 Create Entity Data Model
1.用vs2012创建控制台程序 2.设置项目的.net 版本 3.创建Ado.net实体数据模型 3.打开实体数据模型向导Entity Framework有四种模型选择 来自数据库的EF设计器(Da ...
- linux rpm包的编译
有些软件包的特性是编译者选定的,如果编译未选定此特性,将无法使用.rpm包的版本落后于源码包. 因此需要定制安装,也就是手动编译安装. 编译需要编译环境. 编译的过程如下: 1.下载源码 2.执行 t ...
- java:类集回顾
1.类集设置的主要目的:动态的对象数组 2.类集中有以下几个接口: Collection:是存放单值的最大父接口 |- List接口:里面的内容是允许重复的 |- ArrayList, Vector, ...
- C++11特性 gcc源码包
1.下载gcc最新的源码包 2.解压缩 tar -xf gcc-4.9.1.tar.gz 3. cd gcc-4.9.1 4.运行download_prerequisites脚本, ./contri ...
- linux命令学习笔记(57):ss命令
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat 类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的 ...
- unity破解步骤
1.选择unity的安装目录 C:\Programe Files (x86)\Unity\Editor 2.点击patch 3.使用random生成序列号 4.使用Cre Lic生成授权文件