死磕了一题模拟 A掉的时候我是爽的
ZOJ 3490
没有题解。
一句话,要么贴代码,要么自己打。
#include<cstdio>
#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<math.h>
#include<queue>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
using namespace std;
#define INF 0x3f3f3f3f
#define N 10000000
char s[110];
int ans[3][110];
int p1;
int p2;
int n;
int JUDGE(int x)
{
if(x>='a'&&x<='z')
return 1;
if(x>='A'&&x<='Z')
return 2;
if(x>='0'&&x<='9')
return 3;
return 0;
}
int num;
int j_1,j_2,k;
void sk(char h)
{
int flag=0;
for(int i=j_1+1; i<num; i++)
{
if(JUDGE(ans[1-k][i]))
{
flag=1;
break;
}
}
if(flag==0)
{
if(h=='0')
ans[k][j_2++]='1';
else if(h=='a')
ans[k][j_2++]='a';
else
ans[k][j_2++]='A';
}
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s%d",s,&n);
int len;
len=strlen(s);
num=0;
k=0;
for(int i=len-1; i>=0; i--)
{
ans[0][num++]=s[i];
}
int t=-1;
for(int i=0; i<num; i++)
{
if(JUDGE(ans[0][i]))
{
t=i;
break;
}
}
int x;
int bb;
bb=1;
if(t==-1)
{
for(int i=1; i<=n; i++)
{
k=1-k;
j_1=j_2=0;
x=ans[1-k][j_1]+1;
ans[k][j_2++]=x;
j_1++;
while(j_1<num)
{
ans[k][j_2++]=ans[1-k][j_1];
j_1++;
}
num=j_2;
for(int j=j_2-1; j>=0; j--)
printf("%c",ans[k][j]);
printf("\n");
bb=i+1;
if(x=='0'||x=='a'||x=='A')
{
t=0;
break;
}
}
}
int flat;
for(int i=bb; i<=n; i++)
{
k=1-k;
j_1=j_2=0;
flat=0;
while(j_1<num)
{
x=ans[1-k][j_1];
if(j_1<t)
ans[k][j_2++]=x;
else if(j_1==t)
{
x+=1;
if(x==('z'+1))
{
ans[k][j_2++]='a';
flat=1;
sk('a');
}
else if(x==('Z'+1))
{
ans[k][j_2++]='A';
flat=1;
sk('A');
}
else if(x==('9'+1))
{
ans[k][j_2++]='0';
flat=1;
sk('0');
}
else
ans[k][j_2++]=x;
}
else
{
if(JUDGE(x))
{
if(flat)
{
x+=1;
if(x==('z'+1))
{
ans[k][j_2++]='a';
sk('a');
}
else if(x==('Z'+1))
{
ans[k][j_2++]='A';
sk('A');
}
else if(x==(1+'9'))
{
ans[k][j_2++]='0';
sk('0');
}
else
{
ans[k][j_2++]=x;
flat=0;
}
}
else
{
ans[k][j_2++]=x;
}
}
else
{
ans[k][j_2++]=x;
}
}
j_1++;
}
for(int j=j_2-1; j>=0; j--)
{
printf("%c",ans[k][j]);
}
printf("\n");
num=j_2;
}
printf("\n");
}
return 0;
}
/*
100 5
1 12
**9**9 10
:-( 1
cirno=8 2
X 3
*********/
/*
*/
死磕了一题模拟 A掉的时候我是爽的的更多相关文章
- 死磕以太坊源码分析之EVM固定长度数据类型表示
死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习 ...
- 死磕以太坊源码分析之EVM动态数据类型
死磕以太坊源码分析之EVM动态数据类型 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习. So ...
- 死磕以太坊源码分析之EVM如何调用ABI编码的外部方法
死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家 ...
- 重重封锁,让你一条数据都拿不到《死磕MySQL系列 十三》
在开发中有遇到很简单的SQL却执行的非常慢,甚至只查询一行数据. 咔咔遇到的只有两种情况,一种是MySQL服务器CPU占用率很高,所有的SQL都执行的很慢直到超时,程序也直接502,另一种情况是行锁造 ...
- 【死磕Java并发】----- 死磕 Java 并发精品合集
[死磕 Java 并发]系列是 LZ 在 2017 年写的第一个死磕系列,一直没有做一个合集,这篇博客则是将整个系列做一个概览. 先来一个总览图: [高清图,请关注"Java技术驿站&quo ...
- 死磕 Fragment 的生命周期
死磕 Fragment 的生命周期 本文原创,转载请注明出处.欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文.本篇文章已 ...
- Java类加载器( 死磕8)
[正文]Java类加载器( CLassLoader ) 死磕 8: 使用ASM,和类加载器实现AOP 本小节目录 8.1. ASM字节码操作框架简介 8.2. ASM和访问者模式 8.3. 用于增 ...
- 死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁
问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 ...
- 死磕Java内部类
Java内部类,相信大家都用过,但是多数同学可能对它了解的并不深入,只是靠记忆来完成日常工作,却不能融会贯通,遇到奇葩问题更是难以有思路去解决.这篇文章带大家一起死磕Java内部类的方方面面. 友情提 ...
随机推荐
- Swift的可选链,类型转换和扩展
可选链(Optional Chaining) 可选链是一种请求或调用属性.方法,子脚本的过程. 可选性体现于请求或调用的目标当前可能为nil.若不为nil则成功调用.否则返回nil并将链失效. 调用可 ...
- WCF 内存入口检查失败 Memory gates checking failed
在做JC系统时,出现这样的错误: 出现该错误信息的原因是因为WCF服务激活之前,系统应该具有的最小内存量不足config文件中设置的百分比.我是在本机调试的时候出现的. 解决方法: 关闭 ...
- Redis java使用
直接应用redis.clients:jedis的jar包到项目中,然后直接就可以使用,具体对五种类型的数据操作方法,可以翻代码找到. 连接到 redis 服务 实例 import redis.clie ...
- 初解C#类、结构、弱引用
一.类 类中的数据和函数称为类的成员 数据成员是包含类的数据----字段.常量和事件的成员.数据成员可以是静态数据.类成员总是实例成员,除非用static进行显示的声明. 事件是类的成员,在发生某些行 ...
- Zip加密解密
Zip加密解密方法: 1.winzipaes http://blog.csdn.net/zhyh1986/article/details/7724229 2.zip4j http://blog.csd ...
- 嵌入式驱动开发之2440/2410---uboot 移植
http://blog.chinaunix.net/uid-20620288-id-3058904.html
- hibernate预编译SQL语句中的setParameter和setParameterList
使用预编译SQL语句和占位符參数(在jdbc中是?),可以避免由于使用字符串拼接sql语句带来的复杂性.我们先来简单的看下.使用预编译SQL语句的优点. 使用String sql = "se ...
- sessionFactory的创建和四种查询方式
1,关于sessionFactory的创建 5.0版本之前,下面这种方式在5.0及之后,可能会出问题,建议修改为5.0之后的方式 // 实例化Configuration Configuration c ...
- POJ2155 Matrix 二维线段树
关键词:线段树 二维线段树维护一个 维护一个X线段的线段树,每个X节点维护一个 维护一个Y线段的线段树. 注意,以下代码没有PushDownX.因为如果要这么做,PushDownX时,由于当前X节点的 ...
- HDU1241 Oil Deposits —— DFS求连通块
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...