循环 wxl
#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的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
随机推荐
- x3d 规范 在线镜像版
国内访问web网站不稳定,在此部署一个国内的在线版本,供有需要的同学查阅. 注:已失效 x3d规范文档: https://code.csdn.net/x3dcn/x3d-specification-d ...
- linux 下 整合 nginx 和 php
一.整合nginx 和 PHP: # vi /usr/local/php/etc/php-fpm.conf 如果该文件不存在,有可能是默认的php-fpm.conf.default 可以使用命令拷贝一 ...
- Python迭代器:捕获Generator的返回值
但是用for循环调用generator时,发现拿不到generator的return语句的返回值.如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的v ...
- Eclipse环境下使用Maven注意事项
在最新版本的Eclipse Java EE IDE for Web Developers中已经包含Maven 2 在File,New中可以看到Maven Project,新建, 按照步骤一路下来,要求 ...
- 请用fontAwesome代替网页icon小图标
1. 引言 网页小图标到处可见,如果一个网页都是干巴巴的文字和图片,而没有小图标,会显得非常简陋.下面的小图标,你是不是会经常用到? 你可能说——“我们用的都是彩色的,不是黑白的”——别着急,下面会讲 ...
- asp.net mvc Html.BeginForm()方法
Html.BeginForm()方法将会输出<form>标签,而且必须以using包起来,如此便可在using程序代码最后退出时,让asp.net mvc帮你补上<form>标 ...
- c# Json Dictionary序列化和反序列化
说明:Dictionary对象本身不支持序列化和反序列化,需要定义一个继承自Dictionary, IXmlSerializable类的自定义类来实现该功能.感觉完全可以把这样的类封装到C#库中,很具 ...
- C++中static类成员
static局部变量 static局部变量确保不迟于在程序执行流程第一次经过该对象的定义语句时进行初始化 这种对象一旦被创建,在程序结束前不会被撤销.在该函数被多次调用的过程中,静态局部对象会持续存在 ...
- IOS沙盒
可以先在程序打印沙盒路径: NSLog(@"路径%@",NSHomeDirectory()); ------------------------------------------ ...
- MySQL学习基础 之 起航篇
MySQL 学习来自慕课网<与MySQL的零距离接触> MySQL是一个开源的关系型数据库管理系统 MySQL分为社区版和企业版 MySQL登录和退出相关的命令 参数 描述 -D,--da ...