hdu.1111.Secret Code(dfs + 秦九韶算法)
Secret Code
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 670 Accepted Submission(s): 109
But an almost unknown archaeologist has obtained a copy of the code something during the 18th century. He was afraid that the code could get to the ``wrong people'' so he has encoded the numbers in a very special way. He took a random complex number B that was greater (in absolute value) than any of the encoded numbers. Then he counted the numbers as the digits of the system with basis B. That means the sequence of numbers an, an-1, ..., a1, a0 was encoded as the number X = a0 + a1B + a2B2 + ...+ anBn.
Your goal is to decrypt the secret code, i.e. to express a given number X in the number system to the base B. In other words, given the numbers X and Byou are to determine the ``digit'' a0 through an.
-935 2475 -11 -15
1 0 -3 -2
93 16 3 2
191 -192 11 -12
1
The code cannot be decrypted.
16,15
#include<stdio.h>
#include<string.h>
const int M = ;
typedef __int64 ll ;
ll xr , xi , br , bi ;
int n ;
ll ini ;
ll a[M] ;
ll t ; bool dfs (ll l , ll r , int dep)
{
if (dep > ) return false ;
if (l == && r == ) {
n = dep ;
return true ;
}
ll al , ar ;
for (int i = ; i * i < ini ; i ++) {
al = l - i ; ar = r ;
if ( ( (1ll * al * br + 1ll *ar * bi) % t ) == && ((1ll *ar * br -1ll * al * bi) % t) == ) {
a[dep] = i ;
if ( dfs ( ((1ll * al * br + 1ll * ar * bi) / t) , ((1ll * ar * br - 1ll * al * bi) / t) , dep + ) )
return true ;
}
}
return false ;
} int main ()
{
//freopen ("a.txt" , "r" , stdin ) ;
ll T ;
scanf ("%I64d" , &T ) ;
while (T --) {
scanf ("%I64d%I64d%I64d%I64d" , &xr , &xi , &br , &bi ) ;
t = br * br + bi * bi ;
ini = br * br + bi * bi ;
if (dfs (xr , xi , ) ) {
if (n == ) puts ("") ;
else {
for (int i = n - ; i >= ; i --) printf ("%I64d%c" , a[i] , i == ? '\n' : ',') ;
}
}
else puts ("The code cannot be decrypted.") ;
}
return ;
}
秦九韶算法:
hdu.1111.Secret Code(dfs + 秦九韶算法)的更多相关文章
- HDU 1111 Secret Code (DFS)
题目链接 题意 : 给你复数X的Xr和Xi,B的Br和Bi,让你求一个数列,使得X = a0 + a1B + a2B2 + ...+ anBn,X=Xr+i*Xi,B=Br+Bi*i : 思路 : 首 ...
- HDU 1111 Secret Code(数论的dfs)
Secret Code Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- hdu 1111 Secret Code
http://acm.hdu.edu.cn/showproblem.php?pid=1111 复数除法: #include <cstdio> #include <cstring> ...
- [swustoj 679] Secret Code
Secret Code 问题描述 The Sarcophagus itself is locked by a secret numerical code. When somebody wants to ...
- 秦九韶算法 & 三分法
前言 今天考试出了一个题 郭郭模拟退火骗了75分 于是再次把咕咕了好久的模退提上日程 如果进展顺利 明后天应该会开爬山算法和模退的博客笔记 今天先把今天考试的正解学习一下--三分法 引入 老规矩上板子 ...
- Android Secret Code
我们很多人应该都做过这样的操作,打开拨号键盘输入*#*#4636#*#*等字符就会弹出一个界面显示手机相关的一些信息,这个功能在Android中被称为android secret code,除了这些系 ...
- bzoj3157国王奇遇记(秦九韶算法+矩乘)&&bzoj233AC达成
bz第233题,用一种233333333的做法过掉了(为啥我YY出一个算法来就是全网最慢的啊...) 题意:求sigma{(i^m)*(m^i),1<=i<=n},n<=10^9,m ...
- Android 编程下的 Secret Code
我们很多人应该都做过这样的操作,打开拨号键盘输入 *#*#4636#*#* 等字符就会弹出一个界面显示手机相关的一些信息,这个功能在 Android 中被称为 Android Secret Code, ...
- The secret code
The secret code Input file: stdinOutput file: stTime limit: 1 sec Memory limit: 256 MbAfter returnin ...
随机推荐
- POJ 1236 Network of Schools(强连通分量/Tarjan缩点)
传送门 Description A number of schools are connected to a computer network. Agreements have been develo ...
- hibernate-criteria查询
Criteria查询是Hibernate提供的一种查询方式 下面就一个员工和部门来列一个总体的例子 package Test; import java.util.ArrayList; import j ...
- MATLAB cell & struct
CELL cell的每个单元都可以存储任何数据,比如传递函数等.当然,存储矩阵更是没有问题的了.但是用cell数据类型之前,要先初始化. a=cell(n,m) 那么就把a初始化为一个n行m列的空ce ...
- Linux 中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 f ...
- DOM参考手册及事件参考手册
给全局HTML DOM元素增加函数的方法 HTMLElement.prototype.hasClass = function (className) { return new RegExp(" ...
- HTML5学习总结-09 拖放和手机触屏事件
一 拖放 拖放(Drag 和 drop)是 HTML5 标准的组成部分.拖放是一种常见的特性,即抓取对象以后拖到另一个位置.在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 课程参考 ht ...
- 【项目】UICollectionView 对象自定
陈述一下简单流程: 1.首先定义:UICollectionViewFlowLayout 2.初始化UICollectionView 3.注册复用的cell,定义她们的reuseIndefinite 4 ...
- dotnetbar入门
1.下载dotnetbar组件 2.工具箱引用 3.项目引用 4.开始工作 //此处Form完整的名称是System.Windows.Forms.Form,表示FrmMain窗体类是继承于System ...
- Maven中的dependencyManagement 意义
1.在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器. 2.pom.xml文件中,jar的版本判断的两种途径 1:如果dependenci ...
- aircrack-ng 多网卡启动后环境清理
#!/bin/sh pkill airodump airmon-ng stop wlan0mon service network-manager restart rm -rf sadsad*