题目

小 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 ;
}

最新文章

  1. Bootstrap学习笔记(二)
  2. 1.系统生命开发周期(SDLC)
  3. Hadoop streaming模式获取jobconf参数
  4. Asp.net点击按钮弹出文件夹选择框的实现(网页)
  5. MVC之校验
  6. Android中自定义Activity和Dialog的位置大小背景和透明度等demo
  7. Oracle Demo -&gt;&gt; CREATE TABLE
  8. .NET P****** CMS 逆向工程
  9. lock table
  10. 让进程在后台可靠运行的几种方法 nohup,setsid,&amp;,disown,CTRL-z ,screen
  11. 第八篇 一个用JS写的省市县三级联动
  12. python 之tornado 入门
  13. HTML canvas 笑脸
  14. Android HTTP请求用HttpUrlConnection与HttpClient比较
  15. Windows Server 2012安装.NET Framework 3.5
  16. javascript 数据类型 -- 检测
  17. Web基础学习
  18. javascript 中的原型继承
  19. 剑指Offer_编程题_13
  20. 前端 -----02 body标签中相关标签

热门文章

  1. EntityFramework 学习 一 Add New Entity using DBContext in Disconnected Scenario
  2. linux 下载rpm包到本地,createrepo:创建本地YUM源
  3. CSS基础语法和CSS经常用到的知识点总结
  4. Python3之hashlib模块
  5. jQuery对象和DOM对象的相互转化实现代码
  6. python遍历并获取对象属性--dir(),__dict__,getattr,setattr
  7. Java进阶08 GUI
  8. 【leetcode刷题笔记】Pow(x, n)
  9. 【leetcode刷题笔记】Remove Duplicates from Sorted Array II
  10. C语言小程序(八)、统计字母个数