循环 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公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
随机推荐
- 【Bootstrap基础学习】03 Bootstrap插件示例
模态框 <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <button class="btn btn-primary ...
- 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, UpdateSourceTrigger
[源码下载] 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, Up ...
- [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存
文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html 本文介绍iptables这个Linux下最强大的 ...
- [python学习笔记]Day3
函数 如: def is_leapyear(year): if (year%4 == 0 and year%100 != 0) or (year%400 == 0): return True else ...
- C#中的索引器原理
朋友们,还记得我们在C#语言开发中用到过索引器吗? 记得在获得DataGridView控件的某列值时:dgvlist.SelectedRows[0].Cells[0].Value; 记得在获得List ...
- HTML Jquery
在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...
- js的基本数据类型有哪些?
js的基本数据类型有哪些? ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined.Null.Boolean.Number和String.还有1中复杂的数据类型----O ...
- CSS中的三种基本的定位机制
CSS 定位机制 CSS 有三种基本的定位机制:普通流.浮动和绝对定位. 一.普通流 除非专门指定,否则所有框都在普通流中定位.普通流中元素框的位置由元素在(X)HTML中的位置决定.块级元素从上到下 ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q22-Q24)
Question22You create a Feature.You need to remove the link to the Site Content Type page from the Si ...
- 关于Kb/s,KB/s的一些知识
我们常见的有KB/s和Kb/s两种 1,Kb/s也就是Kbps.这里面小写的b是bit(比特)的缩写,是位的意思.一个位就是二进制的0或者1.一般代表传输单位,p就是/号,s是秒.bps就是b/s=比 ...