Uva 12009 平方数尾数与自身同样 dfs 构造
版权声明:本文为博主原创文章,未经博主同意不得转载。 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 构造的更多相关文章
- Uva 11542 乘积是平方数
题目链接:http://vjudge.net/contest/142484#problem/A 这个题目也是2016年CCPC网赛上面的题目,当时我是不会做的,但是大牛们都知道这是一个原题,最后给一队 ...
- 人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏
人活着系列之平方数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在&quo ...
- 洛谷P1206 [USACO1.2]回文平方数 Palindromic Squares
P1206 [USACO1.2]回文平方数 Palindromic Squares 271通过 501提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有 ...
- Project Euler 92:Square digit chains 平方数字链
题目 Square digit chains A number chain is created by continuously adding the square of the digits in ...
- Project Euler 98:Anagramic squares 重排平方数
Anagramic squares By replacing each of the letters in the word CARE with 1, 2, 9, and 6 respectively ...
- BZOJ2440(全然平方数)二分+莫比乌斯容斥
题意:全然平方数是指含有平方数因子的数.求第ki个非全然平方数. 解法:比較明显的二分,getsum(int middle)求1-middle有多少个非全然平方数,然后二分.求1-middle的非全然 ...
- uva 12009 - Avaricious Maryanna(暴力)
option=com_onlinejudge&Itemid=8&category=516&page=show_problem&problem=3160" ta ...
- UVA 12009 - Avaricious Maryanna(数论)
UVA 12009 - Avaricious Maryanna 题目链接 题意:给定一个n.求出n个数位组成的数字x,x^2的前面|x|位为x 思路:自己先暴力打了前几组数据,发现除了1中有0和1以外 ...
- [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 ...
随机推荐
- python学习记录20181207
1.python中函数指针的用法 直接把函数名赋值给变量,不需要加上()和形参 如: def add(num1,num2): return num1+num2 fun = add 2.打印输出列表需要 ...
- UWP WebView 禁用缩放
只要加入一行 css 样式就行了 html, body { -ms-content-zooming:none; } MSDN:https://msdn.microsoft.com/library/ ...
- getOrderValue 排序 sql server
GO -- =============================================-- Author: <Author,,rx.tang>-- Creat ...
- [SignalR2] 认证和授权
SignalR自身不提供任何用户认证特征,相反,是直接使用现有且基于(Claims-based)声明认证系统(关于这方面知识详见参考资料),非常明了,不解释,看代码中的验证代码: protected ...
- C++类的成员
1.成员变量 成员变量可以是任何类型,如基本数据类型.引用.另一个类的对象或指针.自身类的引用或指针,但不能是自身类的对象: 成员变量不能指定为auto.register.extern 存储类型. 1 ...
- kvm虚拟化1
计算机的五大组成部分: 运算器,控制器,存储器,输入,输出 虚拟化是对cpu ,内存,,磁盘, 网络,IO 的虚拟 cpu的虚拟 以时间分片形式进行,这样使得cpu可以运行多个进程 内存进行了空间 ...
- Numpy初步
1,获取矩阵行列数 Import numpyasnp #创建二维的naaray对象 a=np.array([[1,2,3,4,5],[6,7,8,9,10]]) print(a.shape) #返 ...
- Android中的Application类在应用程序中的应用
Application类 每次应用程序运行时,应用程序的Application类都保持实例化状态(都会持有该Application实例).与Activity不同的是,配置改变并不会导致应用程序重启.在 ...
- Linux shell编程语法
由于条件判断和循环跟其他语言都大同小异,学过编程的话很好理解,这里只贴出格式,不具体写用法了.(select菜单会详细讲一下) 条件判断 if条件判断 普通if条件判断: if 判断条件1; then ...
- 06_ for 练习 _ 年利率
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...