版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/qq574857122/article/details/25166611

题目链接:点击打开链接

题意:rt

思路:从最低位開始构造,若x位的平方数是自身则继续构造。

mark:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<stack>
#include<algorithm>
#include<set>
#include<string>
#include<ctime>
using namespace std;
#define N 555
int n;
int a[N];
vector<string>ans[N];
void dfs(int pos,int *s)
{
int i,j;
if(pos==n)
{
string tmp="";
for(i=n-1;i>=0;i--)
{
tmp+=(char)(a[i]+'0');
}
ans[n].push_back(tmp);
return;
}
int c[N];
for(i=0;i<=9;i++)
{
if(pos==n-1&&i==0)continue;
if(pos==0&&(i!=0&&i!=5&&i!=6))continue;
int g = a[0]*i*2+s[pos];
if(pos==0)g-=a[0]*i;
if(pos==0||(pos>0&&g%10==i))
{
int M = min(n,500);
for(j=0;j<=M;j++)
c[j]=s[j];
a[pos]=i;
int k=0;
for(j=pos;j<=n;j++)
{
int tmp = a[k]*i+c[j];
if(pos>0&&k<=pos-1)tmp+=a[k]*i;
c[j]=tmp%10;
c[j+1]+=tmp/10;
k++;
}
dfs(pos+1,c);
a[pos]=0;
}
}
}
int b[N];
int main()
{
int i,j,t;
for(i=1;i<=500;i++)
ans[i].clear();
memset(b,0,sizeof(b));
for(i=1;i<=500;i++)
{ n=i;
dfs(0,b);
sort(ans[i].begin(),ans[i].end());
}
scanf("%d",&t);
int cas=0;
while(t--)
{
scanf("%d",&n);
printf("Case #%d:",++cas);
if(n==1)printf(" 0 1");
if(n!=1&&ans[n].size()==0)
{
printf("Impossible");
}
for(i=0;i<ans[n].size();i++)
{
cout<<" "<<ans[n][i];
}
puts("");
}
return 0;
}

Uva 12009 平方数尾数与自身同样 dfs 构造的更多相关文章

  1. Uva 11542 乘积是平方数

    题目链接:http://vjudge.net/contest/142484#problem/A 这个题目也是2016年CCPC网赛上面的题目,当时我是不会做的,但是大牛们都知道这是一个原题,最后给一队 ...

  2. 人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏

    人活着系列之平方数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在&quo ...

  3. 洛谷P1206 [USACO1.2]回文平方数 Palindromic Squares

    P1206 [USACO1.2]回文平方数 Palindromic Squares 271通过 501提交 题目提供者该用户不存在 标签USACO 难度普及- 提交  讨论  题解 最新讨论 暂时没有 ...

  4. Project Euler 92:Square digit chains 平方数字链

    题目 Square digit chains A number chain is created by continuously adding the square of the digits in ...

  5. Project Euler 98:Anagramic squares 重排平方数

    Anagramic squares By replacing each of the letters in the word CARE with 1, 2, 9, and 6 respectively ...

  6. BZOJ2440(全然平方数)二分+莫比乌斯容斥

    题意:全然平方数是指含有平方数因子的数.求第ki个非全然平方数. 解法:比較明显的二分,getsum(int middle)求1-middle有多少个非全然平方数,然后二分.求1-middle的非全然 ...

  7. uva 12009 - Avaricious Maryanna(暴力)

    option=com_onlinejudge&Itemid=8&category=516&page=show_problem&problem=3160" ta ...

  8. UVA 12009 - Avaricious Maryanna(数论)

    UVA 12009 - Avaricious Maryanna 题目链接 题意:给定一个n.求出n个数位组成的数字x,x^2的前面|x|位为x 思路:自己先暴力打了前几组数据,发现除了1中有0和1以外 ...

  9. [LeetCode] Sum of Square Numbers 平方数之和

    Given a non-negative integer c, your task is to decide whether there're two integers a and b such th ...

随机推荐

  1. 调用脚本的方式自动的创建或者是更新oracle数据库自带的Seq序列号的值

    执行脚本: CREATE OR REPLACE PACKAGE PKG_QUERY IS -- Author : ADMINISTRATOR -- Created : 2016/12/8 星期四 10 ...

  2. 洛谷P3398 仓鼠找suger

    传送门啦 思路: 那么从 $ A $ 到 $ B $ 可以分解成 先从 $ A $ 到 $ X $ 再从 $ X $ 到 $ B $ ... 另一个同理 假设能相遇 那么 要么在 $ A $ 到 $ ...

  3. npm脚本传参问题

    npm脚本传参问题(比如设置env参数) windows环境下: "build": "set NODE_ENV=dev&& gulp", &qu ...

  4. Ios还是安卓的判断

    最近在做app的h5页面,涉及到一些小知识点 记录一下 1.微信屏蔽了下载的链接,所以在网页中添加的下载链接都要在浏览器中打开,这里需要一个提示用户在浏览器打开的提示弹框 //判断是否在微信终端打开 ...

  5. Python实现字符串反转的几种方法

    面试遇到的一个特无聊的问题--- 要求:在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba" 第一种:使用字符 ...

  6. python基础篇_003_函数

    python中的函数 1.函数的目的 .避免代码冗余 .增强可读性 2.函数的定义与调用 # 定义函数 使用关键字def """ 1.定义函数: def 函数名(): 函 ...

  7. 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理

    前言 来源:https://dailc.github.io/2018/01/21/js_singlethread_eventloop.html 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会 ...

  8. Docker操作笔记(三)数据管理

    数据管理 一.数据卷 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会 ...

  9. Android SQL数据库应用实践 “问题点”“疑难点”“解析”

    应用 Android SQL 数据库时,遇到的问题: 场景1:Android SQL查询后,获取到Cursor并查询数据:遇到以下问题:"android.database.CursorInd ...

  10. es6学习笔记-Symbol

    概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制 ...