#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
int k,num[],key[],test[];
int book[][];
int keyflag=;
int full[][];
int lans[],lkey[];
int se=;
int add(int a[],int b[])
{
int x=;
for (int i=;i<=;i++){
a[i]+=b[i]+x;
x=a[i]/;
if (a[i]>=)a[i]-=;
}
}
int printans(int a[])
{
int flag=;
for (int i=;i>=;i--){
if (a[i]!=) flag=;
if (flag==) cout<<a[i];
}
cout<<endl;
}
int print(int a[])
{
for (int i=k-;i>=;i--)
cout<<a[i];
cout<<endl;
}
int mul(int a[],int b[])
{
int c[];
memset(c,,sizeof(c));
for (int i=;i<k;i++){
int x=;
for (int j=;j<k-i;j++){
c[i+j]+=a[j]*b[i]+x;
x=c[i+j]/;
c[i+j]%=;
}
}
memcpy(a,c,sizeof(c));
}
int find(int z)
{
int t=;
while(true){
if (book[z][test[z]]!=&&book[z][test[z]]==&&se!=){
return ;
}
mul(test,key);
se=;
// for (int i=0;i<=9;i++)
// cout<<book[z][i]<<" ";
// cout<<endl;
// printans(lans);
// printans(lkey);
// getchar();
if (book[z][test[z]]==){
book[z][test[z]]=t;
t++;
}
else if (book[z][test[z]]!=&&book[z][test[z]]==){
if (keyflag!=)
{
mul(num,key);
add(lans,lkey);}
keyflag=;
memcpy(key,num,sizeof(num));
memcpy(lkey,lans,sizeof(lans));
return ;
}
else {
cout<<"-1"<<endl;
exit();
}
mul(num,key);
add(lans,lkey);
}
}
int main()
{
memset(book,,sizeof(book));
string s;
cin>>s>>k;
int l=s.size();
int p=;
for (int i=l-;i>=l-k;i--){
if (i<) num[p]=;
else num[p]=int(s[i]-'');
book[p][num[p]]=;
p++;
}
memset(lans,,sizeof(lans));
memset(lkey,,sizeof(lkey));
lans[]=;
lkey[]=;
memcpy(key,num,sizeof(num));
memcpy(test,num,sizeof(num));
for (int i=;i<k;i++){
find(i);
}
printans(lans);
}

代码中间有许多的不合理的地方,当时是以AC为目标的,所以并没有注意代码的可读性

循环 wxl的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

随机推荐

  1. 不经意间网易开源镜像去掉了FreeBSD的镜像

    http://mirrors.163.com/ FreeBSD已经到了这么不招人待见的地步了么? 网易曾经可是FreeBSD的大户啊.

  2. 搭建spring的开发环境

    在eclipse中新建web项目,集成spring开发环境,把集成spring的过程描述如下, 1.从spring官网下载spring的jar包,我这里是spring4.1,下载的文件中包含了源码及文 ...

  3. 类库LinqToExcel的介绍

            LinqToExcel是一个.net framework平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格.类型之前的LINQToXXX如果你是LINQ语法糖爱好者那最适 ...

  4. Python tools for Visual Studio插件介绍

          Python tools for Visual Studio是一个免费开源的VisualStudio的插件,支持 VisualStudio 2010,2012与2013.我们想要实现的是: ...

  5. 【GPU编解码】GPU硬解码---DXVA

    前面介绍利用NVIDIA公司提供的CUVID库进行视频硬解码,下面将介绍利用DXVA进行硬解码. 一.DXVA介绍 DXVA是微软公司专门定制的视频加速规范,是一种接口规范.DXVA规范制定硬件加速解 ...

  6. log4j.xml 配置参数属性level使用心得

    jdbc.sqlonly        只显示执行的sql语句.info级才可以显示,debug增加显示java源代码位置. jdbc.sqltiming    显示执行的sql语句以及语句执行时间, ...

  7. 欧拉计划之题目9:找出唯一的满足a + b + c = 1000的毕达哥拉斯三元组{a, b, c}

    本题来自:http://pe.spiritzhang.com/index.php/2011-05-11-09-44-54/10-9a--b--c--1000a-b-c #include <std ...

  8. Oauth笔记

    上周的工作有安全验证这一块,但不懂,只知道有几个关键字Oauth.secret-key .token.签名等.今天就查下资料做笔记. Oauth是什么 不依靠用户账号和密码就能获得访问资源权限 本质: ...

  9. javamail 发送邮件demo

    package com.suntray.test; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.M ...

  10. Disconnected: No supported authentication methods available (server sent: publickey)

    安装Git客户端后,进行PULL时报如下错误 disconnected no supported authentication methods available(server sent: publi ...