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掉的时候我是爽的的更多相关文章

  1. 死磕以太坊源码分析之EVM固定长度数据类型表示

    死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习 ...

  2. 死磕以太坊源码分析之EVM动态数据类型

    死磕以太坊源码分析之EVM动态数据类型 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习. So ...

  3. 死磕以太坊源码分析之EVM如何调用ABI编码的外部方法

    死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家 ...

  4. 重重封锁,让你一条数据都拿不到《死磕MySQL系列 十三》

    在开发中有遇到很简单的SQL却执行的非常慢,甚至只查询一行数据. 咔咔遇到的只有两种情况,一种是MySQL服务器CPU占用率很高,所有的SQL都执行的很慢直到超时,程序也直接502,另一种情况是行锁造 ...

  5. 【死磕Java并发】----- 死磕 Java 并发精品合集

    [死磕 Java 并发]系列是 LZ 在 2017 年写的第一个死磕系列,一直没有做一个合集,这篇博客则是将整个系列做一个概览. 先来一个总览图: [高清图,请关注"Java技术驿站&quo ...

  6. 死磕 Fragment 的生命周期

    死磕 Fragment 的生命周期 本文原创,转载请注明出处.欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文.本篇文章已 ...

  7. Java类加载器( 死磕8)

    [正文]Java类加载器(  CLassLoader ) 死磕 8:  使用ASM,和类加载器实现AOP 本小节目录 8.1. ASM字节码操作框架简介 8.2. ASM和访问者模式 8.3. 用于增 ...

  8. 死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

    问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 ...

  9. 死磕Java内部类

    Java内部类,相信大家都用过,但是多数同学可能对它了解的并不深入,只是靠记忆来完成日常工作,却不能融会贯通,遇到奇葩问题更是难以有思路去解决.这篇文章带大家一起死磕Java内部类的方方面面. 友情提 ...

随机推荐

  1. memcached优化方法

    工作原理     基本概念:slab,page.chunk.     slab,是一个逻辑概念. 它是在启动memcached实例的时候预处理好的,每一个slab相应一个chunk size.也就是说 ...

  2. iOS 把数据库文件打包到mainbundle中,查找不到路径的解决的方法;以及在删除bundle中文件的可行性

    在开发中有时我们须要把数据库文件打包到我们的项目中.一般我们都是在外部用工具生成数据库文件,然后拉入项目中.可是我们在程序中查找改文件时.返回的路径总是nil 解决的方法: 原因我们拉入其它资源文件( ...

  3. IBM中国研究院、SAP、网易游戏、IBM2015应届生招聘笔试面试问题分享

    IBM中国研究院实习生 早在今年4月份.我面试的是IBM中国研究院的实习生岗位.主要是自然语言处理和语义网方向.那时我还在香港上学,两个考官对我进行的是电话面试,大概持续半个多小时,首先是我的自我介绍 ...

  4. Andriod Atom x86模拟器启动报错。

    用Inter Atom模式的Android模拟器启动报一下错误: Starting emulator for AVD 'new' emulator: ERROR: x86 emulation curr ...

  5. this that 时间戳转日期 小程序 列表 与 加载

    var gd = getApp().globalData; var imgUrlApp = gd.imgUrlApp; var localImgPath = gd.localImgPath; var ...

  6. the hard problems when writing a great connector; type cohersion, data partitioning and data locality to name a few

    http://rosslawley.co.uk/introducing-a-new=mongodb-spark-connector/

  7. dotnet core 入门

    之前一至用的dotnet 做开发,项目没有用过.netcore,现在看微软对dotnetcore的重视度越来越高,所以dotnetcore也是每一个.dotnet开发人员的一项必备技能.一个偶然的机会 ...

  8. 用secureCRT ssh登陆不显示用户名和路径解决方案 分类: 软件工具学习 2015-03-18 16:52 36人阅读 评论(0) 收藏

    方法1         每次开始的时候输入 bash 虽然只能保存一次,但是简便. 方法2 用       vi ~/.bash_profile   编辑这个文件,  有时会提示这个文件不存在,直 ...

  9. POJ3104 Drying —— 二分

    题目链接:http://poj.org/problem?id=3104 Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissio ...

  10. codevs矩阵乘法系列

    T1:矩阵乘法板子题,练手. #include <map> #include <set> #include <cmath> #include <ctime&g ...